我试图从Java程序中读取 ElasticSearch (1.4)索引,但我真的不知道从哪里开始。
我没有正在运行的ES实例,因此我无法使用" normal" API。
我理解的是,acual索引文件是 Lucene 所以必须有一种方法来阅读它们。性能不是问题,所以如果程序运行时间更长(甚至整夜),我都不会介意。
答案 0 :(得分:0)
是的,你是 Elasticsearch 索引(在一个分片上)只是一个普通的 Lucene 索引,因此使用在Java程序中打开它真的很容易Lucene的
最简单的方法如下:
IndexReader reader = DirectoryReader.open(FSDirectory.open(Paths.get(INDEX_PATH)));
IndexSearcher searcher = new IndexSearcher(reader);
Lucene 5.0 ,但 Lucene 4.xx 将与此类似:
IndexReader reader = IndexReader.open(FSDirectory.open(new File(INDEX_PATH)), true);
IndexSearcher searcher = new IndexSearcher(reader);