我有一个字段“品牌”,它定义为字段类型:"org.apache.solr.schema.TextField“和索引分析器和查询分析器:"org.apache.solr.analysis.TokenizerChain”。
我想搜索一个文本,并且只搜索这个文本。例如,搜索"Lego“也会得到"Lego”、"Lego Mio“、"Lego Plus”和"Lego Plus Sub“的结果。但我只想知道“乐高”的结果。同样,当我搜索"Lego Plus“时,我也找到了"Lego Plus Sub”,但我只是想要"Lego Plus“。
我尝试了一些正则表达式,但它不是很好用。
你有什么想法吗?
提前thx :)
最佳鲁道夫
发布于 2016-08-19 01:24:34
您可以使用StrField -只有在存在完全匹配的情况下才会给出结果,也可以使用带有KeywordTokenizer的TextField。KeywordTokenizer会将输入字符串保留为单个令牌,实际上只有在存在精确匹配时才匹配。
不同之处在于,您可以将过滤器应用于来自KeywordTokenizer的结果,例如LowerCaseFilter,这使您能够不区分大小写地进行匹配。
https://stackoverflow.com/questions/39018100
复制相似问题