Solr 中是否有一个标记器/过滤器可以将一些短语(我猜是文件的形式)索引为单个标记?此外,任何关于将其放在分析器链中的位置的建议都将非常有用。
问问题
740 次
2 回答
2
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>
于 2013-03-24T04:29:46.873 回答
1
为此,您将需要使用TokenizerFactory。
如果您也想检测句子,那么您可以查看 solr.UAX29URLEmailTokenizerFactory。
如果输入是特定模式,您可以使用 solr.PatternTokenizerFactory。
如果要将整个输入索引为一个字段,可以使用 solr.KeywordTokenizerFactory。
于 2013-03-24T19:04:11.490 回答