可以在Solr结果集中进行代数运算吗?

可以在Solr结果集中进行代数运算吗?,solr,Solr,目前,我正在启动3个Solr查询,并在我的servlet中执行操作以实现我的需求。我的要求是找到属于非特殊类别的单词 特殊类别词将在特殊文档以及普通文档中有条目,将有两个特殊类别。所以我需要提取所有文档,并从中删除特殊类别。目前,我正在使用散列映射在servlet中实现这一点 在Solr查询中不编写任何处理程序就可以做到这一点吗 我想实现类似query1-query2 U query3的功能,您可以使用筛选查询从原始查询中排除其他查询的结果。在Solr中,您可以使用-来否定查询结果。这不会涵盖所

目前,我正在启动3个Solr查询,并在我的servlet中执行操作以实现我的需求。我的要求是找到属于非特殊类别的单词

特殊类别词将在特殊文档以及普通文档中有条目,将有两个特殊类别。所以我需要提取所有文档,并从中删除特殊类别。目前,我正在使用散列映射在servlet中实现这一点

在Solr查询中不编写任何处理程序就可以做到这一点吗


我想实现类似query1-query2 U query3的功能,您可以使用筛选查询从原始查询中排除其他查询的结果。在Solr中,您可以使用-来否定查询结果。这不会涵盖所有可能的集合操作,但它应该足以满足您的需要

举个例子,假设您查询某家公司的T恤衫

q=company:hilfiger
现在你要排除那些红色或绿色的衬衫。要做到这一点,您需要使用-来否定每个查询,并为每个约束添加一个单独的fq参数

fq=-color:red&fq=-color:green
把所有这些放在一起,你会问

`q=company:hilfiger&fq=-color:red&fq=-color:green
关于筛选器查询的参考


如果你发布了你实际的3个查询,可能有人能够回答这个问题。你想执行吗?@cheffe是的,这绝对是我在solr中想要做的…我是否遗漏了一些东西,或者这与query1相同,而不是query2或query3?但我不知道我必须排除哪些东西。问题是我可能需要排除query2产生的1000个单词,query3产生的1000个单词和Query1产生的3000个单词,然后更好地解释您的场景,给我们您的模式,解释您使用的查询以及您想要实现的结果…@KarthikSurianarayanan solr查询的结果是一组文档,不是单词:你排除query2产生的1000个单词是什么意思?@Zac排除query2产生的1000个文档,从query1产生的3000个文档中排除query3产生的1000个文档。注意:必须根据字段_word执行此操作,该字段将出现在查询1、2、3返回的所有文档中