2016-07-22 8 views
0

私は伸縮性が新しいです。
弾性検索 - 完全一致を優先します

私は弾性検索を使用して、データベースに保存されているドキュメントのタイトルフィールドを検索しています。詳細情報:"title" field - type "String"/indexed and "title.unanalyzed" field - type "String"/unindexed

タイトルが検索結果の上部に表示されるように、完全に一致するタイトルが付いているドキュメントを望んでいますが、他のすべての場合はスコアの降順でソートします。私は正確に一致したタイトルを持つ文書に1.1のスコアを与えることは、分析されたフィールドの0と1の間の弾性スコアとして役立つだろうと思う。現在のクエリ:

query: { 
        term: { 
          "title.unanalyzed": "some_title" 
        }, 

        multi_match: { 
          query: "some_title", 
          type: "most_fields", 
          fields: ["title", "other"] 
        } 
     } 

は、エラー:failed to parse search source. expected field name but got [START_OBJECT]を返します。助けが必要です、ありがとう!

答えて

1

は、この方法を試してください。

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "term": { 
      "title.unanalyzed": "some_title" 
      } 
     }, 
     { 
      "multi_match": { 
      "query": "some_title", 
      "type": "most_fields", 
      "fields": [ 
       "title", 
       "other" 
      ] 
      } 
     } 
     ] 
    } 
    } 
} 
関連する問題