【发布时间】:2016-06-21 23:54:22
【问题描述】:
我是 Solr 新手,在优化 solr 中的搜索时遇到问题。 当我搜索“C4902AN#140”时,它首先显示“140”的结果,“C4902AN#140”的结果稍后出现。即在包含“140”的结果之后。但我想要“C4902AN#140”的结果之前结果有“140”。
提前致谢!!!
【问题讨论】:
-
你的分析是什么?
我是 Solr 新手,在优化 solr 中的搜索时遇到问题。 当我搜索“C4902AN#140”时,它首先显示“140”的结果,“C4902AN#140”的结果稍后出现。即在包含“140”的结果之后。但我想要“C4902AN#140”的结果之前结果有“140”。
提前致谢!!!
【问题讨论】:
您可能需要检查用于架构文件中字段类型定义的标记器。
如果字段类型有 solr.standardTokenizer,它将删除 # 字符。
或
您应该考虑提升具有“C4902AN#140”的文档
您可以使用 config 文件夹中的 elevate.xml 文件,只需提及哪个文档首先出现在特定 searchTerm 字符串的结果集中。
【讨论】:
您为此使用的分析器应该使用 KeyWordTokenizerFactory 以便您的整个单词不会被标记化,而只会生成一个标记,即生成单词本身。
【讨论】: