Не могу найти payload.casesense с "$" - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь использовать API ElasticSearch для запроса базы данных, содержащей имена пользователей и идентификаторы #.

Я попытался указать каждый параметр, используя payload.casesense, как показано ниже:

"query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "payload.casesense": {
              "query": "bob"
            }
          }
        },
        {
          "match_phrase": {
            "payload.casesense": {
              "query": "11$111"
            }
          }
        },

Я ожидаю получить все строки, содержащие эту комбинацию имени пользователя и идентификатора.

Похоже, что Elasticsearch игнорирует символ '$' или использует его в качестве символа подстановки для других знаков препинания. Мой запрос по существу разделяется на что-то вроде этого:

payload.casesense: "bob" AND payload.casesense: "11" AND payload.casesense: "111"

Чаще всего это означает, что я получаю совпадения на отметке времени, когда есть 11,111 секунд

Я пытался избежать $ как "11 \ $ 111", но это не сработало ... у кого-нибудь есть опыт работы с такого рода проблемами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...