2012-03-02 2 views
1

Я пытаюсь получить синонимы правильно работать, я хочу, чтобы отобразить шкафчик пола в шкафчик для храненияSolr: Настройка индекс время синонимы

в настоящее время ищут для хранения шкафчика производят результаты как поиск шкафчика пола не производят никаких результатов , У меня есть следующие настройки для времени индекса синонимов:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100" omitNorms="false"> 
    <analyzer type="index"> 
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="KeywordTokenizerFactory"/> 
     <charFilter class="solr.HTMLStripCharFilterFactory"/> 
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" /> 
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 
     <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" /> 
     <filter class="solr.LowerCaseFilterFactory" /> 
     <filter class="solr.RemoveDuplicatesTokenFilterFactory" /> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     </analyzer> 
...... 

И мой synonyms.txt выглядит следующим образом:

floor locker=>storage locker 

Что я делаю неправильно?

+0

Как выглядит ваш запрос? –

+0

q = {! Dismax} шкафчик для пола – dorgan

+0

Боюсь, что я не знаю достаточно о запросах Dismax, чтобы действительно прокомментировать здесь ... однако, возможно ли, что синоним не распознается, потому что вы не ищете точная фраза? –

ответ

1

У вас неправильный порядок цепи анализа. Сначала вы должны поместить фильтр символов, а затем токенизатор. Фильтр синонима может быть сразу после этого. Остальная часть фильтров находится в правильном порядке или, по крайней мере, в порядке.