当我索引数据,然后在一个线程(进程)它可以搜索到的数据。 如果我索引并停止该进程,然后只运行搜索找到索引数据,没有命中。 这是什么propblem的原因或什么是我的错误客户端还是什么? 我是新的弹性的搜索,所以我不能找到请帮助我的原因。
org.elasticsearch.node.Node node = nodeBuilder().clusterName("farukest").node();
Client client = node.client();
String[] deneme = {keyword[0]}; // keyword fetched from database
for (int i = 0; i < degerler.length; i++) {
IndexResponse response = client.prepareIndex("Ali9".toLowerCase(),"Api",Integer.toString(i))
.setSource(jsonBuilder()
.startObject()
.field("Post Id", degerler[i][0].toString())
.field("Post Like Count", degerler[i][1].toString())
.field("Post Shares Count", degerler[i][2].toString())
.field("Post Comment Count", degerler[i][3].toString())
.field("Page Name",degerler[i][4].toString())
.field("Message", degerler[i][5].toString())
.endObject()
).setRefresh(true)
.execute()
.actionGet();
SearchResponse r = client.prepareSearch("Ali9".toLowerCase()) // Searching
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(termQuery("Message", "Fenerbahçelim".toLowerCase()))
.setFrom(0).setSize(60).setExplain(true)
.execute()
.actionGet();
System.out.println(r);
SearchHit[] hits = r.getHits().getHits();
System.out.println(hits.length);
for (SearchHit searchHit : hits) {
Map<String, Object> source = searchHit.getSource();
for (Map.Entry<String,Object> values : source.entrySet()) {
System.out.println(values.getValue()+" ...");
}
}
如果我运行seperately,结果为0的数据。 如果我在一个进程中运行这些它的工作原理。