我有一个弹性搜索查询,我试图正确匹配,字段数据本身包含 -(破折号),字符串数据是 GUIDS
它没有正确匹配,因为它将术语分成单独的单词,由 -
此后,我将查询更改为使用 match_phrase 查询,如下所示:
"query": {
"filtered": {
"query": {
"match_phrase":{
"guid":{"operator" : "or","query":"bd2acb42-cf01-11e2-ba92-12313916f4be"}
}
}
}
}
当我试图只匹配一个 GUIDS 时,这很好用。
但是我正在尝试匹配多个 GUIDS
所以它目前看起来像
"query": {
"filtered": {
"query": {
"match_phrase":{
"guid":{"operator" : "or","query":"bd2acb42-cf01-11e2-ba92-12313916f4be d1091f08-ceff-11e2-ba92-12313916f4be"}
}
}
}
}
我认为它不起作用,因为它试图匹配整个字符串,而不是单独匹配每个 GUID。
我尝试在查询中添加“分析器”:“空白”,但这完全破坏了查询。
那么确保查询查找整个 GUID 字符串并允许匹配多个 GUID 的最佳方法是什么?