Сопоставление Elasticsearch для обработки рубашки, не соответствующей футболке

#elasticsearch #lucene

#elasticsearch #lucene

Вопрос:

Я индексирую название продукта «Футболка». Мой анализатор прерывает ‘t-shirt’ => ‘t’, ‘shirt’,’tshirt’. Я использую WordDelimiterFilter с catenate_words и маркером пробелов. Но я не хочу, чтобы поиск отображал «футболки» при запросе «рубашки», что он и делает. Спасибо

Ответ №1:

Попробуйте установить generate_word_parts в вашем WordDelimiterFilter значение false. По умолчанию установлено значение true.

Комментарии:

1. Спасибо. Сработало для меня 🙂

Ответ №2:

Проблема здесь в том, что ElasticSearch помечает строки по умолчанию как analysed = true .
Вам необходимо изменить свой документ, чтобы сохранить название продукта, чтобы оно не анализировалось Эта ссылка может помочь вам в этом