5

適切に一致させようとしているelasticsearchクエリがあります。フィールドデータ自体に-(ダッシュ)が含まれ、文字列データはGUIDSです

用語を - で区切られた個別の単語に分割していたため、適切に一致していませんでした。

その後、次のような match_phrase クエリを使用するようにクエリを変更しました。

"query": {
    "filtered": {
           "query": {
              "match_phrase":{

                  "guid":{"operator" : "or","query":"bd2acb42-cf01-11e2-ba92-12313916f4be"}
               }
           }
     }
 }

GUIDS を 1 つだけ一致させようとしている場合、これは問題なく機能します。

ただし、複数の GUID を一致させようとしています

したがって、現在は次のようになります

"query": {
    "filtered": {
           "query": {
              "match_phrase":{

                  "guid":{"operator" : "or","query":"bd2acb42-cf01-11e2-ba92-12313916f4be d1091f08-ceff-11e2-ba92-12313916f4be"}
               }
           }
     }
}

各GUIDを個別にではなく、文字列全体に一致させようとしているため、機能していないと思います。

クエリに "analyzer" : "whitespace" を追加しようとしましたが、これによりクエリが完全に壊れました。

では、クエリが GUID 文字列全体を検索し、複数の GUID の一致を可能にするための最良の方法は何ですか?

4

1 に答える 1