2014-01-24 1 views
3

Я играю с индексированием articlenumber в Elasticsearch.Анализатор поиска Elasticsearch

Здесь я обеспечиваю рабочий пример: https://found.no/play/gist/557202b3542be157d813

я не понимаю, почему я получаю другой счет, если я изменить значение «product_number.search»

если я изменить значение от «ak454» к «ak 454» оценка меняется.

Я думал, что если я использую search_analyzer, значение «ak 454» будет преобразовано в «ak454» (его сопоставлено с помощью searchable_id).

вы также можете посмотреть на вкладке анализы, чтобы увидеть мою Tokenizer: https://found.no/play/gist/557202b3542be157d813#analysis

спасибо.

ответ

1

term -query (и фильтр) не выполняет никакого анализа текста.

match -query делает и может достичь того, чего вы хотите.

Я приспособил пример: https://found.no/play/gist/2de967d844c5fbc14d2f

Установка explain в true очень полезно при работе с проблемами, как это, как вы видите именно то, что Lucene делает, когда он забил.

+0

спасибо, вы сделали мой день. – timg