2017-02-23 7 views
0

私はElasticsearchで次のmulti_matchクエリを使用していますが、 "friendly_nameフィールド"にのみファジーを使用できるかどうかは疑問です。私は別のものを試しましたが、うまくいかないようです。私はまた、あいまいさと同様の結果を得るためにアナライザを使用することが可能かどうか疑問に思っています:multi_matchクエリで1つのフィールドにのみ曖昧性を使用することはできますか?

"query": { 
    "multi_match": { 
     "query": "input query",    
     "fields": ["code_short", "code_word","friendly_name"], 
     "minimum_should_match": "2" 
    } }, "_source": ["code", "friendly_name"] 

助けていただければ幸いです。ありがとう。

答えて

0

あなたが唯一のフィールドでのクエリが必要な場合は、マルチ一致

"match": { 
     "name": { 
      "query":  "your query", 
      "fuzziness": "1.5", 
      "prefix_length": 0, 
      "max_expansions": 100, 
      "minimum_should_match": "80%" 
     } 
    } 

を必要としない私はあなたが完全にあいまいに取って代わることができると信じていませんが、それがために働くかもしれない探求する2つのオプションを持っています君は。 ngramフィルターまたはステムフィルター。

====== あなたが意図したことはよく分かりませんでした。私は実際には3つのフィールドを照会していると私は一つだけにあいまいさを適用する方法を発見していないため、ご返信用

"query": { 
     "bool": { 
     "should": [ 
      { 
      "match": { 
       "friendly_name": { 
       "query": "text", 
       "fuzziness": "1.5", 
       "prefix_length": 0, 
       "max_expansions": 100 
       } 
      } 
      }, 
      { 
      "match": { 
       "code_word": { 
       "query": "text" 
       } 
      } 
      }, 
      { 
      "match": { 
       "code_short": { 
       "query": "text" 
       } 
      } 
      } 
     ], 
     "minimum_should_match" : 2 
     } 

}

+0

おかげで、私はmulti_matchを使用しています:しかし、あなたは道あなたのクエリを行うことができますそのうちの。私はngramを試しましたが、私が望む結果が得られませんでしたが、ステムフィルターを見ています。 – Ubbi099

+0

おかげさしで、情報がありがとうございました。 – Ubbi099

関連する問題