2016-03-24 7 views
0

Я вижу определение типа поля Solr в Solr synonym setting for two Chinese characters 台,臺Solr Определение типа файла без тега Analyzer в schema.xml?

<fieldType name="text_zh" class="solr.TextField"> 
    <analyzer type="index"> 
     <tokenizer class="solr.StandardTokenizerFactory"/>  
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    </analyzer> 
    <analyzer class="jeasy.analysis.MMAnalyzer" /> 
</fieldType> 

Я смущен о двух местах:

  1. MMAnalyzer не является в какой-либо анализатор теге, что это значит?
  2. StandardTokenizerFactory и MMAnalyzer оба будут токенизировать текст, первый делает 1 грамм, где последний действительно выполняет поиск по словарю. Кто на первом месте и кто последний? Разве они не конфликтуют друг с другом? Каким будет конечный результат?

ответ

0

Это должно быть ошибкой. Правильное использование должно иметь разные цепочки анализа для индексирования и запроса.

Это означает, что второй анализатор должен быть:

<analyzer type="query" class="jeasy.analysis.MMAnalyzer" /> 

Таким образом, когда текст индексируется, он будет использовать StandardTokenizerFactory и применять синонимы. Но во время запроса он будет только do MMAAnalyzer. Вы можете проверить это на экране анализа интерфейса администратора, используя текстовые поля Index и Query и сравнить шаги обработки.

+0

Спасибо! Я попробую! –