有这样的映射:
{
"mappings": {
"properties": {
"test": {
"properties": {
"testlinks": {
"properties": {
"field_one": {
"type": "text",
"analyzer": "whitespace"
},
"field_two": {
"type": "text",
"analyzer": "whitespace"
}
}
},
"title": {
"type": "text"
}
}
}
}
}
}
这两个字段都可以包含以下形式的值:abc-12/ gd , abc -12 , abc12(即它们可以包含标点符号)。
任务:查找字段 testlinks.field_one和testlinks.field_two与指定值完全匹配的文档。
例如,文档“文档 1”包含数据:
{
"index": "test",
"id": "3Ttv6m0BXeo9lU95PytX",
"body": {
"title": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 1",
"testlinks": [
{
"field_one": "test1",
"field_two": "1"
},
{
"field_one": "test2",
"field_two": "2"
}
]
}
}
如果您查询: testlinks.field_one = "test1" AND field_two = "2" - 什么也找不到
如果您要求: testlinks.field_one = "test2" AND field_two = "2" - 文档应该找到
怎么做?
也许您需要以某种方式更改映射。我将非常感谢您的提示!
嵌套查询解决的问题:
也许有人会派上用场。