1
返回精確值,我使用下面的查詢搜索文檔:Java的查詢從Elasticsearch
QueryBuilder qb = matchQuery(
"username_field",
"user123"
);
SearchResponse response = Client().prepareSearch("users_dashboard").setQuery(qb)
.setSource("username_field")
.execute().actionGet();
但我想它返回到我,包含準確的用戶名一個文檔。但是,目前正在返回是一個例子: 搜索user123
都返回以下:
user123
user123 lastname
firstname user123
但我只想user123
返回。
我使用Elasticsearch 2.1.0
如何迪我設置映射到'not_analyzed'到一個已經現有索引? –
雖然您可以將'not_anallyzed'設置爲現有索引,但它不會影響當前值,最好創建新索引並重新索引所有內容。 – ChintanShah25
我明白了。另一個問題是,設置多個查詢將是query1 AND query2,或query1或query2? 意思是,我想匹配一個提到了一組單詞的用戶名:QueryBuilder qb1 = termQuery(「user.screen_name」,用戶名); QueryBuilder qb2 = matchQuery(「text」,Keywords);'並返回文檔數量。 ES會將此視爲「用戶名和關鍵字」,還是「用戶名或關鍵字」? –