2016-06-13 11 views
0
私は下の検索クエリを使用しています

弾性検索クエリ文字列のJava APIは、すべての結果に同じスコアを与える

{「から」

:「0」、「サイズ」:「20」、「クエリ」:{

このカールヒットは適切なスコアでヒット/結果を返しますが、私は正しいスコアで結果を返します。

String queryString = "{" 
      + "\"query_string\" : {\n" + 
      "  \"fields\" : [\"title\"],\n" + 
      "  \"query\" : "+ "\"" + searchQuery + "\",\n" + 
      "  \"analyze_wildcard\": true \n" + 
      " }}\n"; 

SearchResponse response2 = client.prepareSearch(indexName).setTypes(successZoneTypeName).setFrom(0).setSize(30).setQuery(QueryBuilders.queryStringQuery(queryString)).get(); 

これは、すべてのヒットに対して同じスコアで結果を返します。

jestクライアントでも試しても結果は同じですが、結果に適切なスコアが得られません。

答えて

1

これは、Javaを介してクエリ文字列クエリを構成する適切な方法ではありません。

+0

ワイルドカード検索の場合、searchQueryをアスタリスク '*'と連結すると、すべてのレコードのスコアが1になるのはなぜですか? – abhineet

+0

あなたはおそらく他のSOの読者にも有益なので、新しい質問をするべきです。 – Val

+0

あなたが提案したように、私は[link](http://stackoverflow.com/questions/37875057/why-is-that-if-the-search-string-is-concatenated-with-asterisk- in-case-of-wi)また、私はこの質問でも同じスコア、すなわち「*」のため1を得ていることに気付きました。 – abhineet

関連する問題