我的文档的映射:
...
"user.id": {
"type": "string",
"index": "not_analyzed"
},
...
索引的示例文档:
{ "user": { "id": "123" } }
用以下查询:
"query" : {
"filtered" : {
"query" : {
"match_all" : { }
},
"filter" : {
"terms" : {
"user.id" : [ "123, foo" ]
}
}
}
我没有命中。
仅包含“ 123”的字词过滤器会成功匹配。
根据我在文档中阅读的内容,术语过滤器应匹配所提供值的“任意”。因此,在我的情况下,“ foo”与匹配不了,userId
那么文档应该匹配,因为“ 123”匹配了。
我是否误解了术语过滤器?
您正在提交"123, foo"
一个字符串。您的收藏夹中没有包含该用户ID的文档。如果将“ 123”和“ foo”作为单独的字符串提交,即"user.id" : [ "123", "foo" ]
,则示例文档应与查询匹配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句