[英]Elasticsearch java api, hits score always be 1.0
我使用了ElasticSearch java客戶端。 我確實使用query_string
搜索,但得到響應,但得分始終為1.0。
代碼是:
String query = "{\"query\": {\"query_string\": {\"query\": \"weblog data4\"}}}";
SearchRequestBuilder builder = client
.prepareSearch("flume-2016-08-10")
.setQuery(query)
.addHighlightedField("*")
.setHighlighterRequireFieldMatch(false)
.setFrom(0).setSize(60).setExplain(true);
SearchResponse response = builder.execute().actionGet();
System.out.println(response.toString());
System.out.println(response.getHits().getAt(0).getSource());
System.out.println(response.getHits().getAt(0).getHighlightFields());
client.close();
結果是:
但是,我確實在elaseticsearch-head中搜索,但得到的分數正確。
那么,如何使用Java獲得正確的分數?
這解決了我的問題:
更改:
字符串查詢=“ {\\” query \\“:{\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}}”“;
至:
字符串查詢=“ {\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}”;
更多詳細信息: jpountz回答
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.