我有一个具有特殊字符的代码的产品,例如:ABC-3%-100.
我已经用100 .The solr查询进行索引和搜索,以便像100*.The搜索那样进行搜索,当我从产品代码中删除"%"时,.The搜索会给出适当的结果(假设我只有这个产品,“没有找到与搜索100一起找到的产品”)。
我无法理解,当产品中有%的代码时,solr为什么要返回这个搜索文本100?
发布于 2016-04-30 02:08:25
如果您正在寻找确切的匹配,那么您可以为您的字段寻找用于搜索的字符串字段类型。
如果你用记号器..。它将创建令牌,具体取决于它们的编写方式。
因为您正在使用关键字记号器..。它不会创建任何相同的令牌。
使用上述标记器的好处是,...you还可以使用其他一些过滤器,如塞字和小写等.
Stopword过滤器将帮助您删除像...is,etc..which这样的词,这对索引没有任何意义.
小写过滤器在索引和搜索时将文本转换为小写。
停止字过滤器不适用于当前情况。
发布于 2016-04-29 17:53:14
我有办法解决这个问题。我已将令牌程序值从StandardTokenizerFactory更改为solr类型的KeywordTokenizerFactory
https://stackoverflow.com/questions/36943469
复制相似问题