《深入理解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網絡程序設計