Сравнение производительности подстановочных знаков в именах полей вместо явного перечисления полей в простой строке запроса - PullRequest
0 голосов
/ 01 ноября 2019

В моих отображениях у меня есть много текстовых полей, которые мне нужно запросить с помощью запроса строки запроса. До сих пор я явно передавал все поля в запросе, которые иногда могут быть дорогостоящими для сериализации / десериализации. Кроме того, по мере увеличения числа полей увеличивается число логических предложений, представляющих каждое поле. Слишком много предложений также снижает производительность в ElasticSearch.

При поиске обходного пути я обнаружил, что запрос строки ES-запроса поддерживает символы подстановки в именах полей. Это позволит запросу ниже

{
  "query": {
    "query_string": {
      "fields": [
        "field1",
        "field2",
        "field3",
        "field4",
        "field5",
        ...
      ],
      "query": "something"
    }
  }

}

записаться как

{
      "query": {
        "query_string": {
          "fields": [
            "field*"
          ],
          "query": "something"
        }
      }
}

Есть ли проблемы с использованием подстановочных знаков в именах полей? Я не знаком с внутренней работой расширения подстановочных знаков и есть ли дополнительные расходы, связанные с этим.

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