1

我需要匹配用户在弹性搜索中跨 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*" }}    ]}}
}

这与弹性搜索版本有关吗?

4

1 回答 1

0

它将按如下方式工作:-

{
"query": {
    "bool": {
        "must": [
            {
                "wildcard": {
                    "Author": "roh*"
                }
            },
            {
                "wildcard": {
                    "Title": "q*"
                }
            }
        ]
    }
}
}
于 2019-02-12T08:31:53.047 回答