Эластичный поиск не работает должным образом

Я использовал этот запрос

'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] Может кто-нибудь помочь, пожалуйста?

3

Решение

Если вы работаете над версией ES выше 5.x, то string Тип данных объявлен устаревшим

Строковое поле не поддерживается для индексов, созданных в 5.x в пользу
поля текста и ключевых слов.

из оригинала источник. Возможно, вам придется создать поля, которые состоят из типа text или же keyword вместо string в вашем отображении.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]