【问题标题】:Remove a duplicate documents from results returned by SOLR从 SOLR 返回的结果中删除重复的文档
【发布时间】:2015-07-06 10:18:33
【问题描述】:
我有一个场景,我在文档中搜索no pan 字符串。在我的应用程序中,我们向 SOLR 发送了两个查询请求,即一个是 Exact 查询(即短语查询),它返回确切的结果,下一个查询是 AND 查询。但碰巧Exact 查询的结果也包含在AND 查询中,所以我想从AND 查询结果中删除该记录。那么它可以从 SOLR 端移除吗?
我正在使用 sunspot gem 和 rails。
【问题讨论】:
标签:
ruby-on-rails-4
solr
sunspot-rails
sunspot-solr
【解决方案1】:
如果您的文档包含任何唯一字段,则在第二个查询中使用该字段作为不在查询中。
例如,如果您将 id 作为唯一字段。
然后从第一个查询中获得这些 id
并将第二个查询作为
-id:(123 OR 345)
因此,从第二个查询结果中,这些将被过滤...
【解决方案2】:
或者只是您可以重新制定第二个请求以包含 AND 但排除完全匹配。
更新的第二个请求成为当前第一个请求(排除完全匹配)与您当前的第二个请求(通过 and 操作)相结合的否定。