適切に一致させようとしている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 の一致を可能にするための最良の方法は何ですか?