我有一个场景,我在其中搜索文档中的no pan
字符串。在我的应用程序中,我们向SOLR发送两个查询请求,即一个是Exact
查询(即短语查询),它返回精确结果,下一个查询是AND
查询。但恰好Exact
查询的结果也包含在AND
查询中,因此我想从AND
查询结果中删除这些记录。那么可以从SOLR中删除吗?
我正在使用sunspot gem
和rails。
答案 0 :(得分:0)
如果您的文档包含任何唯一字段,则在第二个查询中将该字段用作非查询。
例如,如果您将id作为唯一字段。 然后从第一个查询中获得那些ID
并将第二个查询放入
-id:(123 OR 345)
因此,从第二个查询结果中,这些将被过滤...
答案 1 :(得分:0)
或者只是您可以重新制定第二个请求以包含AND但排除完全匹配。
更新后的第二个请求将取消当前第一个请求(排除完全匹配)以及当前第二个请求(通过和操作)。