《深入理解Elasticsearch(原书第2版)》一2.2.2 回到Apache Lucene
本节书摘来华章计算机《深入理解Elasticsearch(原书第2版)》一书中的第2章 ,第2.2.2节,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)着 张世武 余洪淼 商旦 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2.2 回到Apache Lucene
现在我们回到Lucene。如果你还记得Lucene倒排索引是如何构建的,你会指出倒排索引中包含了词项、词频以及文档指针(如果忘了,请重新阅读1.1节)。现在我们看看之前存储到clients索引中的数据大概是如何组织的。
Term这一列非常重要。如果我们去探究Elasticsearch和Lucene的内部实现,将会发现前缀查询被改写为下面这种查询:
我们可以用Elasticsearch API来检查重写片段。首先,使用Explain API执行如下命令:
可以看到,Elasticsearch对name字段使用了一个词项是joe的constant_score查询。当然,这一步发生在Lucene中,Elasticsearch实际上只是从缓存中获取这些词项。这一点可以用Validate查询API来验证。
最后更新:2017-06-23 23:35:25
上一篇:
Gradle创建Spring Boot项目——1配置
下一篇:
《深入理解Elasticsearch(原书第2版)》一2.2.1 前缀查询示例
安防行业能否在“十三五”规划中占有一席之地?
有趣的开源软件“大杂烩”
2013蓝桥杯【模拟赛】硬币方案
Android中WebView载入本地HTML代码并实现Java与JavaScript交互的例子
学习ASP.NET Core, 怎能不了解请求处理管道[5]: 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter
别人用老虎机来娱乐,他们却从中发现了一个全新的电商推荐机制!
ModelBinder——ASP.NET MVC Model绑定的核心
数据安全隐私保护九大解决之道
机房收费系统之思想性总结
21世纪普通高等教育应用型规划教材·计算机系列:JSP网络程序设计