例如: 我想搜索“支持”,我希望它只返回包含“支持”的结果,并且不返回包含“支持”或任何其他相关匹配的结果。
是否可以像这样实施?
感谢。
答案 0 :(得分:7)
是的,如果您搜索未经分析的字段类型,则匹配是准确的。在默认的Solr模式中,未分析的字段类型名为“string”(类“solr.StrField”)
编辑:这取决于你所说的“精确”。如果您的字段值是“支持服务台”而您的查询是“支持”,那么它是否匹配?此外,如果您的查询是“支持”且字段值为“支持”,那么它是否匹配?
总之,Lucene / Solr文本分析管道非常易于配置,请查看analyzer docs以获取所有可用选项的参考。
答案 1 :(得分:3)
您所描述的内容称为词干。有关堆栈溢出的另一个几乎相同的问题,请查看:Solr exact word search 您需要在配置中重新编制索引并禁用词干分析。我不相信在查询时可以这样做,因为索引中存储的内容是单词的词干版本。在您的情况下,“支持”存储在索引中,即使显示“支持”。 这应该让你开始How to configure stemming in Solr?