我需要匹配用户在 flex 搜索中跨2个属性传递的输入,并且它必须是通配符搜索。

我正在使用AWS-ES 6.4版

当我查询一个属性时,结果还可以,但是当我同时包含这两个属性时,它会给我400状态代码。

有效的查询:

 {"query":
{"bool": {"should": [
{"wildcard": { "phone1.searchTerm": "*1234*" }}
]}}
}

查询失败:(phone1和phone2都)
是否在应/必须条件中是否只有一个通配符有约束力?
{"query":
{"bool": {"should": [
{"wildcard": { "phone1.searchTerm": "*1234*" }}    ,
{"wildcard": { "phone2.searchTerm": "*1234*" }}    ]}}
}

这与 flex 搜索版本有关吗?

最佳答案

它将如下工作:

{
"query": {
    "bool": {
        "must": [
            {
                "wildcard": {
                    "Author": "roh*"
                }
            },
            {
                "wildcard": {
                    "Title": "q*"
                }
            }
        ]
    }
}
}

关于amazon-web-services - Elasticsearch查询中多列上的通配符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52622819/

10-11 10:33