2016-06-29 2 views
0

私はelasticsearchのインデックスに小さなテキストの長さのドキュメントを追加して検索する必要があり、検索クエリが自分のドキュメントのテキストと完全に一致する場合のみ検索結果を取得します。 など。 これは、2つの文書をインデックスに追加します。部分検索文字列とelaticsearchインデックスの完全なドキュメントを一致させる

1){ 名 "アルファベータ" }

2){ 名: "ガンマデルタ" }

クエリ文字列がある場合 -

1.) "alpha beats beta" 

2.) "alpha beats gammma" 

は、最初の照会よりも最初の照会は、そのまま文書のすべてのトークンが一致するように戻す必要があります。しかし、2番目のクエリは、すべてのトークンがそのままクエリ文字列に存在するようなドキュメントが存在しないため、ドキュメントを返すべきではありません。

注記:結果は、ドキュメント内のテキストのすべてのトークンがクエリ文字列内に存在する場合にのみ返されます。

答えて

0

スペースでタームをトークン化し、以下のようにクエリを書くことができます。

ここ
{ 
"query": { 
"bool": { 
     "should" : [   

      {"match_phrase" : { "name": "alpha"}}, 
      {"match_phrase" : { "name": "beta"}} 
     ], 
"minimum_should_match" : 2 
} 
}, 
size:50 
} 

"minimum_should_match":nは用語の数であるキーです。

関連する問題