无法搜索带有“ $”的payload.casesense

时间:2019-06-06 23:59:39

标签: elasticsearch

我正在尝试使用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”一样转义,但是那行不通……任何人都有处理此类问题的经验?

0 个答案:

没有答案