索引产品代码包含特殊字符(%)时,Solr搜索结果错误

时间:2016-04-29 16:37:27

标签: solr lucene hybris

我的产品代码具有特殊字符例如:abc-3%-100

我已使用 100 编制索引并进行搜索。\ n \ nSenr查询编写为 100 * 搜索。搜索结果正确(“未找到产品当我从产品代码中删除“%”时,搜索100 “假设我只有此产品”。

我无法理解为什么当产品的代码中含有%时,solr会将此产品返回给搜索文本100?

2 个答案:

答案 0 :(得分:1)

如果您正在寻找完全匹配,那么您可以选择用于搜索的字段的字符串字段类型。

如果你使用了标记器..它将根据它们的写入方式创建标记。

当您使用关键字标记符时..它不会创建任何相同的标记。

使用上述标记器的好处是......你也可以使用其他一些过滤器,如停用词和小写等......

停用词过滤器可以帮助您删除像......是,等等等的单词。这些是很常见的,对索引没有任何意义......

小写过滤器在索引和搜索时以小写形式转换文本。

在当前情况下,停用词过滤器不适用。

答案 1 :(得分:0)

我得到了一个解决方案。我已将StandardTokenizerFactory中的 tokenizer 值更改为solword类型的KeywordTokenizerFactory