[英]Elasticsearch java api, hits score always be 1.0
I used ElasticSearch java client. 我使用了ElasticSearch java客户端。 I do search with
query_string
, and I get response, but score always be 1.0 . 我确实使用
query_string
搜索,但得到响应,但得分始终为1.0。
code is: 代码是:
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();
result is: 结果是:
However, I do search in elaseticsearch-head, I get response with correct score. 但是,我确实在elaseticsearch-head中搜索,但得到的分数正确。
So, How do I get correct score with java? 那么,如何使用Java获得正确的分数?
This solved my problem: 这解决了我的问题:
change: 更改:
String query = "{\\"query\\": {\\"query_string\\": {\\"query\\": \\"weblog data4\\"}}}";
字符串查询=“ {\\” query \\“:{\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}}”“;
to: 至:
String query = "{\\"query_string\\": {\\"query\\": \\"weblog data4\\"}}";
字符串查询=“ {\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}”;
more details: answer by jpountz 更多详细信息: jpountz回答
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.