Magento: SOLR: Как удалить html-теги из предложения ключевого слова для поиска SOLR?

Я использую поиск SOLR для поиска Magento, при поиске возникла проблема. Пожалуйста, смотрите изображение.

введите здесь описание изображения

В моем описании продукта у меня есть несколько html-тегов. Итак, когда мы ищем, html-теги также появляются в автоматическом предложении без специальных символов. Можно ли здесь удалить html-теги?


person Karthi Skb    schedule 17.08.2015    source источник
comment
пропускает их из индексации...добавляет их в фабрику стопфильтров   -  person Abhijit Bashetti    schedule 17.08.2015
comment
Привет @AbhijitBashetti, мне тоже нужно проиндексировать описание, но это должно быть без тегов HTML. Не могли бы вы сказать мне, что такое фабрика стопфильтров?   -  person Karthi Skb    schedule 17.08.2015
comment
если вы читали о типе поля, то знаете, что он состоит из токенизатора и фильтров. это поможет вам в токинизации текстов. Фильтры проверяют поток токенов и сохраняют их, преобразуют или отбрасывают... Фабрика фильтров остановки отбрасывает общие слова... Можете ли вы поделиться со мной типом поля, используемым для описания? вот ссылка для более подробной информации cwiki.apache. org/confluence/display/solr/   -  person Abhijit Bashetti    schedule 17.08.2015
comment
попробуйте этот тип поля для описания /› ‹filter class=solr.LowerCaseFilterFactory/› ‹/analyzer› ‹/fieldType› здесь в stopwords.txt нужно добавить теги html   -  person Abhijit Bashetti    schedule 17.08.2015
comment
проверьте ответ Alexf   -  person Abhijit Bashetti    schedule 17.08.2015


Ответы (1)


Вы можете использовать HTMLStripCharFilterFactory, который удалит теги HTML:

HTMLStripCharFilter удаляет HTML из входного потока и передает результат либо CharFilter, либо Tokenizer. Как и другие фильтры CharFilters, он указывается с помощью тега и должен стоять перед токенизатором. Пример:

<analyzer>
  <charFilter class="solr.HTMLStripCharFilterFactory"/>
  <tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>

Итак, в анализаторе, который вы использовали, просто добавьте этот фильтр.

person alexf    schedule 17.08.2015
comment
Спасибо @alexf и Abhijit, все работает отлично! :) - person Karthi Skb; 17.08.2015