簡體   English   中英

Elasticsearch Java API,命中分數始終為1.0

[英]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();

結果是:

分數= 1.0

但是,我確實在elaseticsearch-head中搜索,但得到的分數正確。

在此處輸入圖片說明

那么,如何使用Java獲得正確的分數?

這解決了我的問題:

更改:

字符串查詢=“ {\\” query \\“:{\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}}”“;

至:

字符串查詢=“ {\\” query_string \\“:{\\” query \\“:\\” weblog data4 \\“}}”;

更多詳細信息: jpountz回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM