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
ако сте чели за fieldtype ще знаете, че се състои от tokenizser и филтри. това ви помага при токинизирането на текстовете. Филтрите изследват поток от токени и ги запазват, преобразуват или изхвърлят...Спиране на фабриката за филтър изхвърля общи думи....Можете ли да ми споделите типа на полето, използван за описанието? ето връзка за повече подробности cwiki.apache. org/confluence/display/solr/   -  person Abhijit Bashetti    schedule 17.08.2015
comment
опитайте този тип поле за описание ‹fieldType name=text_general class=solr.TextField positionIncrementGap=100› ‹analyzer› ‹tokenizer class=solr.StandardTokenizerFactory/› ‹filter class=solr.StopFilterFactory ignoreCase=true words=stopwords.txt enablePositionIncrements=true /› ‹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