编辑
Solr可以做模糊字段折叠吗?即折叠具有相似值的字段,而不是相同值的字段?
我曾假设它可以,但现在我不确定,这使得我下面的原始问题无效。
原始问题
对于一个给定的大的值集合,我需要决定哪一个是最普遍的。所有值的集合将随着时间的推移而变化,所以我可以预期输出也会随着时间的推移而变化。
我认为Solr可以通过给定的字段对结果进行“字段折叠”,并具有相似性容差。是否有可能(甚至是适当的)单独使用Solr来折叠字段,以获得最常见的值?我们在业务的其他部分使用Solr,利用现有的代码而不是自制的自定义解决方案会很好。
1条答案
按热度按时间w8f9ii691#
不,solr不支持模糊折叠。(至少不基于wiki上的文档)
Solr 4.0支持
group.func
,它允许你根据FunctionQuery的结果对结果进行分组,因此在某个时间点,可能会创建一个函数来近似地得到你想要的结果,但现有的函数都不能做到你想要的。但是,Solr确实支持结果clustering,这可能对您的用例有用。聚类是通过Carrot2完成的。如果您将carrot使用的字段限制为单个字段,您可能会得到类似于“模糊聚类”的结果,但是您对carrot所做的事情的控制远不如对字段折叠的控制。
对于普通文档,您可能希望所有字段都由carrot分析,例如:
但是,例如,如果您有一个拼写或标点符号稍有不同的
manufacturer
字段,则只为carrot提供一个字段来同时表示title
和snippet
可能有效: