我正在尝试使用ElasticSearch API查询包含用户名和ID号的数据库。
我尝试使用payload.casesense指定每个参数,如下所示:
"query": {
"bool": {
"must": [
{
"match_phrase": {
"payload.casesense": {
"query": "bob"
}
}
},
{
"match_phrase": {
"payload.casesense": {
"query": "11$111"
}
}
},
我希望得到包含该用户名和ID组合的所有行。
似乎正在发生的事情是Elasticsearch忽略了'$'字符,或将其用作其他标点符号的通配符。我的查询本质上被分解成这样的东西:
payload.casesense: "bob" AND payload.casesense: "11" AND payload.casesense: "111"
最常见的是,这意味着我会在时间戳记上找到匹配的时间(11.111秒)
我曾尝试将$像“ 11 \ $ 111”一样转义,但是那行不通……任何人都有处理此类问题的经验?