IndexResponse response = client.prepareIndex("face", "book","1")
.setSource(jsonBuilder()
.startObject()
.field("name", "kimchy")
.field("postDate", "2010-03-01")
.field("message", "trying out Elastic Search")
.endObject()
)
.execute()
.actionGet();
String index = response.getIndex(); // index : "face"
SearchResponse r = client.prepareSearch("face")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(QueryBuilders.termQuery("name","kimchy"))
.setFrom(0).setSize(60).setExplain(true)
.execute()
.actionGet();
System.out.println(r);
SearchHit[] hits = r.getHits().getHits();
System.out.println(hits.length); // 0 Hits
for (SearchHit searchHit : hits) {
// no hits no data
}
我該如何解決這個問題,這裏的問題在哪裏?如果我寫了prepareIndex(「twitter」,「tweet」,「1」)和client.prepareIndex,我會嘗試一切,但我無法修復。我會很高興,如果有人幫我解決這個問題。 (「twitter」,「tweet」,「1」)它給了我一些結果,但我認爲這是默認結果。我想搜索特定的單詞,我想要的。如何使用Elasticsearch進行索引和搜索
儘管此解決方案有效,但它意味着您應該手動刷新您的索引。正如我確信@mconlin知道,但沒有說過,手動刷新用於測試目的很好,但如果在每個請求上完成,將會對生產產生性能影響。最好讓Elasticsearch在後臺自動執行它。 – DrTech