2016-03-24 25 views
0

我看到Solr synonym setting for two Chinese characters 台,臺Solr在schema.xml中没有Analyzer标签的文件类型定义?

<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> 

一个Solr的字段类型定义,我感到困惑的两个地方:

  1. MMAnalyzer没有任何分析标签内,这是什么意思?
  2. StandardTokenizerFactory和MMAnalyzer两者都会标记文本,前者执行1-gram,而后者则实际上执行字典查找。谁来,谁来最后?他们不相互冲突吗?最终的结果是什么?

回答

0

这必须是一个错误。正确的用法必须要有用于索引和查询的不同分析链。

这意味着第二个分析仪应该是:

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

这样,当文本索引,它将使用StandardTokenizerFactory和应用的同义词。但在查询期间,它会只有做MMAAnalyzer。您可以通过使用索引和查询文本框在管理界面的分析屏幕中对其进行测试,并比较处理步骤。

+0

谢谢!我会尽力! –