2017-04-12 23 views
1

私は現在elasticsearchバージョン2.4を使用しています。クエリ時間の増減や重み付けを使用して 'タイプ'と呼ばれるフィールドに基づいて結果セットを微調整します。フィールド「タイプ」の値をフィールド「タイプ」の値が「キャラバン」は、重みを加える場合は、「ボート」は、重み付け又は4フィールド値に基づいてクエリ時間の加重/追加を追加する

のブーストを追加する場合の例

について

検索結果のキャラバンの前にクエリーストリングと一致したボートを作成するためのボートが3つあります。

これまでに私が読んだことは、フィルタ、関数、関数の点で非常に畳み込まれています。私は誰かが私のシナリオに私を得るための例を提供することができれば感謝します。

+0

「constant_score」クエリを試す – RoiHatam

+1

ありがとう、素晴らしい答え – vybe

答えて

0

優先度を設定するには、constant_scoreクエリとboostオプションを使用する必要があります。

{ 
    "query": { 
    "bool": { 
     "should": [ 
      { 
       "constant_score": { 
        "boost": 4, 
        "query": { 
         "match": { 
          "description": "Boats" 
         } 
        } 
       } 
      }, 
      { 
       "constant_score": { 
        "boost": 3, 
        "query": { 
         "match": { 
          "description": "Caravans" 
         } 
        } 
       } 
      } 
     ] 
    } 
    } 
} 
関連する問題