Я использовал этот запрос
'body' => [
'query' => [
'bool' => [
'should' => [
['match' => ['title'=> $q]],
['match' => ['year'=> $q]],
['match' => ['case_type'=> $q]],
['match' => ['body'=> $q]],
['match' => ['petition_no'=> $q]],
['match' => ['keywords'=> $q]]
]
]
]
]
и я не знаю, почему я не получаю правильные результаты. В журнале докера ELASTICSEARCH это показывает
[WARN] [o.e.d.i.m.StringFieldMapper $ TypeParser] Поле [string] устарело, вместо этого используйте [text] или [ключевое слово] вместо [title]
Может кто-нибудь помочь, пожалуйста?
Если вы работаете над версией ES выше 5.x, то string
Тип данных объявлен устаревшим
Строковое поле не поддерживается для индексов, созданных в 5.x в пользу
поля текста и ключевых слов.
из оригинала источник. Возможно, вам придется создать поля, которые состоят из типа text
или же keyword
вместо string
в вашем отображении.
Других решений пока нет …