2014年5月20日 星期二

[elasticsearch]using skywalker read elasticsearch lucene index information/ luke 查看索引訊息


[elasticsearch]using skywalker read elasticsearch lucene index information/ luke 查看索引訊息

elasitcsearch 的底層使用 Lucene 來當 index kernel ,換句話說在elasticsearch 裡面看到的 segment 其實就是 Lucene的 index format。

有一些情況,我們可能想得知索引檔案內有多少terms (即numTerms)
一般可以使用  Luke 來觀察 Lucene 索引內的一些資訊。

在 elasticsearch 上,甚至可以直接使用 skywalker (Skywalker for Elasticsearch is like Luke for Lucene) 來查詢一些底層的資訊。

skywalker (Skywalker for Elasticsearch is like Luke for Lucene) 

Install
安裝 elasticsearch的 plugins通常非常容易

ES versionPluginRelease dateCommand
0.90.03.0.0May 24, 2013./bin/plugin --install skywalker --url http://bit.ly/1eYTIHj
0.90.53.1.0Nov 9, 2013./bin/plugin --install skywalker --url http://bit.ly/HFJos6
0.90.63.2.0Nov 9, 2013./bin/plugin --install skywalker --url http://bit.ly/19PbcoJ
1.0.0.RC11.0.0.RC1.1Jan 16, 2014./bin/plugin --install skywalker --url http://bit.ly/1htPlFK
Do not forget to restart the node after installing.
最重要的在使用skywalker 必須在安裝完 plugins後 restart 你的nodes。


直接訪問 _skywalker
http://localhost:9200/_skywalker

查看 index file 的 internal information
"0": {"numTerms": 236527,"hasDeletions": false,"directoryImpl": "org.elasticsearch.index.store.Store$StoreDirectory","indexFormat": {"capabilities": "flexible, codec-specific (WARNING: newer version of Lucene than this tool)","genericName": "Lucene 4.1","version": "4.1"},"numDocs": 38982,"maxDoc": 38982,"indexVersion": "3104","numDeletedDocs": 0},
透過 elasticsearch-skywalker 我們可以得知 像是該 索引檔案有多少 Terms ,topterms是哪些,他們被 analyzer 分析成怎樣的 term store。
經由這些資訊,我們可以更加了解我們的 搜尋引擎 的內部。

ref
jprante/elasticsearch-skywalker
https://github.com/jprante/elasticsearch-skywalker

沒有留言:

張貼留言