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