В моих отображениях у меня есть много текстовых полей, которые мне нужно запросить с помощью запроса строки запроса. До сих пор я явно передавал все поля в запросе, которые иногда могут быть дорогостоящими для сериализации / десериализации. Кроме того, по мере увеличения числа полей увеличивается число логических предложений, представляющих каждое поле. Слишком много предложений также снижает производительность в ElasticSearch.
При поиске обходного пути я обнаружил, что запрос строки ES-запроса поддерживает символы подстановки в именах полей. Это позволит запросу ниже
{
"query": {
"query_string": {
"fields": [
"field1",
"field2",
"field3",
"field4",
"field5",
...
],
"query": "something"
}
}
}
записаться как
{
"query": {
"query_string": {
"fields": [
"field*"
],
"query": "something"
}
}
}
Есть ли проблемы с использованием подстановочных знаков в именах полей? Я не знаком с внутренней работой расширения подстановочных знаков и есть ли дополнительные расходы, связанные с этим.