solr中的任何短语索引功能

时间:2013-03-23 17:14:12

标签: solr

Solr中是否有一个标记器/过滤器可以将一些短语(我想以文件的形式)索引为单个标记?关于将这个放在分析仪链中的任何建议也是很好的。

2 个答案:

答案 0 :(得分:1)

SynonymFilterFactory应该对你有所帮助。以下是该页面的示例:

#Explicit mappings match any token sequence on the LHS of "=>"
#and replace with all alternatives on the RHS.  These types of mappings
#ignore the expand parameter in the schema.
#Examples:
i-pod, i pod => ipod
sea biscuit, sea biscit => seabiscuit

在索引时,左侧的短语会被右侧的单个标记替换。将映射存储在名为syn.txt的文件中,您可以按如下方式设置分析器链(再次从solr wiki链接):

<fieldtype name="syn" class="solr.TextField">
      <analyzer>
          <tokenizer class="solr.WhitespaceTokenizerFactory"/>
          <filter class="solr.SynonymFilterFactory" synonyms="syn.txt" 
                  ignoreCase="true" expand="false"/>
      </analyzer>
</fieldtype>

答案 1 :(得分:1)

您需要使用TokenizerFactory

如果你想检测句子,那么你可以看一下solr.UAX29URLEmailTokenizerFactory。

如果输入采用特定模式,则可以使用solr.PatternTokenizerFactory。

如果要将整个输入索引为一个字段,可以使用solr.KeywordTokenizerFactory。