[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 version | Plugin | Release date | Command |
0.90.0 | 3.0.0 | May 24, 2013 | ./bin/plugin --install skywalker --url http://bit.ly/1eYTIHj |
0.90.5 | 3.1.0 | Nov 9, 2013 | ./bin/plugin --install skywalker --url http://bit.ly/HFJos6 |
0.90.6 | 3.2.0 | Nov 9, 2013 | ./bin/plugin --install skywalker --url http://bit.ly/19PbcoJ |
1.0.0.RC1 | 1.0.0.RC1.1 | Jan 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": {"store": [],"numTerms": 236527,"topterms": [],"indexFiles": [],"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"},"fieldInfos": [],"numDocs": 38982,"maxDoc": 38982,"indexVersion": "3104","commits": [],"numDeletedDocs": 0},透過 elasticsearch-skywalker 我們可以得知 像是該 索引檔案有多少 Terms ,topterms是哪些,他們被 analyzer 分析成怎樣的 term store。
經由這些資訊,我們可以更加了解我們的 搜尋引擎 的內部。
ref
jprante/elasticsearch-skywalker
https://github.com/jprante/elasticsearch-skywalker
沒有留言:
張貼留言