使用Luke打开Elasticsearch的索引

说明

由于Elasticsearch的倒排索引经过改造并非直接使用Lucene的机制,所以Luke默认是无法打开分片下的索引内容的,这个时候需要我们自己编译了。

注意

版本一定要对应,请自行对比自己的Elasticsearch版本与内部lucene的版本,由于我使用的是 ES 2.4.5 内部使用的是 Lucene 5.5.4 所以我就直接下载的 luke 5.5.5 进行源码编译的。

源码下载

https://github.com/DmitryKey/luke/tags

源码修改

主要修改POM文件的两处位置就可以了,第一处就是Elasticsearch的版本,第二处就是放开elasticsearch注释那一块打包编译即可。

1.修改版本属性

<elasticsearch.version>2.4.5elasticsearch.version>

2.放开注释

<dependency>
<groupId>org.elasticsearchgroupId>
<artifactId>elasticsearchartifactId>
<version>${elasticsearch.version}version>
dependency>

编译打包

mvn package

运行

通过以下方式运行后,然后选择某个分片下的索引打开即可。

java -jar ${sourcepath}/target/luke-with-deps.jar

最后

具体如何查看使用Luke我就不赘述了,我测试发现多个分片目录不能同时打开,有点不太方便,因为毕竟ES默认创建的索引是5个分片与1个副本(共10分片),所以比较麻烦,只能一个个去打开着看了,如上述有啥子问题请留言,谢谢!

你可能感兴趣的:(工作记载)