本文共 486 字,大约阅读时间需要 1 分钟。
本节书摘来华章计算机《深入理解Elasticsearch(原书第2版)》一书中的第2章 ,第2.2节,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)著 张世武 余洪淼 商旦 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
之前我们探讨了评分机制,这些知识非常珍贵,特别是当你尝试改进查询相关性时。我们还认为,在对查询进行调试时,也很有必要搞清楚查询是如何执行的。因此我们决定在本节介绍一下查询改写是如何工作的,为什么需要查询改写,以及我们应该如何控制它。
如果你之前使用过诸如前缀查询或通配符查询之类的查询类型,那么你会了解这些都是基于多词项的查询,它们都涉及查询改写。Elasticsearch使用查询改写是出于对性能的考虑。从Lucene的角度来看,所谓的查询改写操作,就是把费时的原始查询类型实例改写成一组性能更高的查询类型实例,从而加快查询执行速度。查询改写过程对客户端不可见,不过最好能够知道我们可以修改查询改写过程。举个例子,让我们看看Elasticsearch是如何处理前缀查询的。转载地址:http://nbesa.baihongyu.com/