在schema.xml中没有Analyzer标记的Solr文件类型定义?

时间:2016-03-24 02:42:14

标签: solr synonym fieldtype

我在Solr synonym setting for two Chinese characters 台,臺

中看到了Solr字段类型定义
<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-gram,后者实际上是字典查找。谁先来,谁来最后?他们不是互相冲突吗?结果会是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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

这样,当文本被索引时,它将使用StandardTokenizerFactory并应用同义词。但在查询期间,执行MMAAnalyzer。您可以使用“索引”和“查询”文本框在“管理UI”的“分析”屏幕中对其进行测试,并比较处理步骤。