Elastic Search вложенная строка запроса? - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу найти 2 значения в 2 разных столбцах, используя подстановочный знак, но он не работает должным образом с 2 значениями, но работает нормально для одной строки запроса

Это работает с одним столбцом

{
  "query": {
    "query_string" : {
      "default_field" : "Phone",
      "query" : "*568072*"
    }
  }
}

Я попытался расширить его, чтобы использовать его с 2 столбцами с 2 различными значениями.

{
    "query":
    {
        "bool":
        {
            "should": [
                {
                    "query_string":
                    {
                        "query": "*Chicago*",
                        "fields": ["Sources"]
                    },
                    "query_string":
                    {
                        "query": "*493*",
                        "fields": ["Phone"]
                    }


                }


            ]
        }
    }
}

Где я ошибаюсь?

1 Ответ

0 голосов
/ 19 сентября 2018

У вас есть ошибка в вашем запросе.У вас есть один большой объект в массиве should, который имеет два одинаковых ключа, что не имеет смысла.Вместо этого это должен быть массив таких объектов:

{
  "query": {
    "bool": {
      "should": [
        { "query_string": { "query": "*Chicago*", "fields": ["Sources"] } },
        { "query_string": { "query": "*493*", "fields": ["Phone"] } }
      ]
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...