2017-01-25 15 views
0

У меня есть индекс под названием offers im, который пытается выполнить полнотекстовый поиск с помощью поиска Elastic, Im используя драгоценный камень Tire.Rails 4: Чистые тексты из редакторов Wysiwyg по индексу ElasticSearch

Моя модель имеет поле описания, однако ввод этого поля является редактором WYSIWYG, так что, когда я проверяю индексированные данные по индексу ElasticSearch description поле имеет все новые линии \n и многие другие символы кода <p> «s как это:

<h2>Qu&eacute; hay en la caja:</h2>\r\n\r\n<ul>\r\n\t<li>Tablet KRONO 7021</li>\r\n\t<li>Cable USB</li>\r\n\t<li>

Мой вопрос: Считаете ли вы, что текст должен быть расшифрованы в ElasticSearch для того, чтобы не повлиять на полнотекстовый поиск?

+0

Что такое анализатор, который вы используете для этого поля? –

ответ

1

Вы абсолютно должны расшифровать текст. Два варианта:

Сохраните текст как два разных поля: один с тегами WYSIWYG, а другой чистый и поиск по этому столбцу - проблематично, если у вас много записей.

Используйте опцию Elastic's "char_filter": [ "html_strip" ]. Вам придется попробовать его вручную, чтобы увидеть, насколько хорошо он работает в вашем случае.

+0

У меня только вопрос, я уже добавил пользовательский анализатор с '" char_filter ": [" html_strip "]' однако при проверке индексированных данных на elasticsearch текст остается тем же, поэтому я не знаю, что Im делает что-то неправильно или если это так, анализаторы не показывают результат по индексу? – SsouLlesS

+0

Вы переиндексировали свои документы? –

+0

Im, использующий Elastic Search 2.4, да, я, я имею в виду, должен ли я видеть его декодированным по индексу? – SsouLlesS