《深入理解ElasticSearch》——2.2 查询改写
本节书摘来自华章计算机《深入理解ElasticSearch》一书中的第2章,第2.2节,作者:[美] 拉斐尔·酷奇(Rafa Ku) 马雷克·罗戈任斯基(Marek Rogoziński)更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2 查询改写
如果你之前使用过诸如前缀查询或通配符查询之类的查询类型,那么你会发现这些都是基于多词项的查询,且都涉及查询改写。ElasticSearch(实际上是Lucene执行该操作)使用查询改写是出于对性能的考虑。从Lucene的角度来看,所谓的查询改写操作,就是把费时的原始查询类型实例改写成一个性能更高的查询类型实例。
2.2.1 前缀查询范例
演示查询改写过程的最好方式莫过于通过范例深入了解该过程的内部实现机制,尤其是要了解原始查询中的词项是如何改写成目标查询中那些词项的。假设索引了下面