【发布时间】:2012-01-05 07:40:25
【问题描述】:
例如: 我想搜索“支持”,希望它只返回包含“支持”的结果,而不返回包含“支持”或任何其他相关匹配的结果。
可以这样实现吗?
谢谢。
【问题讨论】:
例如: 我想搜索“支持”,希望它只返回包含“支持”的结果,而不返回包含“支持”或任何其他相关匹配的结果。
可以这样实现吗?
谢谢。
【问题讨论】:
是的,如果您搜索未分析的字段类型,则匹配是准确的。在默认的 Solr 模式中,未分析的字段类型被命名为“string”(属于“solr.StrField”类)
编辑:这取决于您所说的“精确”是什么意思。如果您的字段值是“支持台”并且您的查询是“支持”,它应该匹配吗?
此外,如果您的查询是“支持”并且字段值为“支持”,是否应该匹配?
总之,Lucene/Solr 文本分析管道是非常可配置的,请查看analyzer docs 以获取所有可用选项的参考。
【讨论】:
您所描述的称为词干提取。关于堆栈溢出还有另一个几乎相同的问题,请查看:Solr exact word search 您需要在配置中重新索引并禁用词干提取。我不相信在查询时可以这样做,因为存储在索引中的是词的词干版本。在您的情况下,“支持”存储在索引中,即使显示“支持”。 这应该让你开始How to configure stemming in Solr?
【讨论】: