У меня есть индекс базы данных человека с приведенным ниже отображением.elasticsearch фильтр поиска равен
{
"person" : {
"sex" : { "type" : "string" },
"dob" : { "type" : "string" },
"fname" : { "type" : "string" },
"lname" : { "type" : "string" },
"phone" : { "type" : "string" }
}
}
Мне нужно найти все соответствующие записи с несколькими условными предложениями.
Добролюбов + телефон + секс (OR) Fname + LNAME + д.р.
Как создать запрос или фильтр (используя логическое значение) для приведенного выше условия. Также мне нужно запросить или фильтровать регистр без учета регистра.
Любые идеи?
Благодаря
Спасибо @olly. Я читаю фильтры быстрее, чем совпадение. Есть ли способ использовать фильтры? – user3658423
Вы можете заменить «запрос» на «фильтр». Затем вам нужно будет заменить «match» на «term». Затем вам также потребуется создать пользовательский анализатор нижних регистров, который не будет маркировать данные и гарантировать, что значения, переданные вашему фильтру, всегда строчные. Функционально то, что вы делаете, это запрос - вам лучше с гибкостью, которую он предлагает. TL; DR: Придерживайтесь использования «запроса», вы, вероятно, не заметите разницу в производительности. –