使用 Solr api,它似乎没有正确处理 OR 逻辑
Using the Solr api, it seems it's not handling the OR logic correctly
这是显示查询参数的查询响应片段:
"q":"title:bear",
"indent":"true",
"fl":"id",
"q.op":"OR",
"fq":"authors:bear",
"sort":"id asc",
"rows":"100"}},
"response":{"numFound":2,"start":0,"numFoundExact":true,"docs":[
{
"id":"204921"},
{
"id":"228142"}]
}}
这是标题和作者列表中都出现 bear
的两条记录。如果我只查询标题中的熊或作者中的熊,我将分别得到 "numFound":688
和 "numFound":35
。我希望这两个集合的 OR 是它们的并集(至少有 688 个项目)而不是交集(2 个项目)。如果我将操作从 OR 切换到 AND,我会得到相同的两个项目。这不是在 Solr API 中构造 OR 查询的正确方法吗?
此查询过滤结果以仅包含带有单词“bear”的作者(过滤查询),然后在该结果集中搜索标题 bear。如果您想使用 AND/OR 功能,您应该将两个参数(标题和作者)作为过滤器查询传递。您还可以使用 explain 参数为您提供更多上下文。 https://solr.apache.org/guide/7_4/common-query-parameters.html#debug-parameter
这是显示查询参数的查询响应片段:
"q":"title:bear",
"indent":"true",
"fl":"id",
"q.op":"OR",
"fq":"authors:bear",
"sort":"id asc",
"rows":"100"}},
"response":{"numFound":2,"start":0,"numFoundExact":true,"docs":[
{
"id":"204921"},
{
"id":"228142"}]
}}
这是标题和作者列表中都出现 bear
的两条记录。如果我只查询标题中的熊或作者中的熊,我将分别得到 "numFound":688
和 "numFound":35
。我希望这两个集合的 OR 是它们的并集(至少有 688 个项目)而不是交集(2 个项目)。如果我将操作从 OR 切换到 AND,我会得到相同的两个项目。这不是在 Solr API 中构造 OR 查询的正确方法吗?
此查询过滤结果以仅包含带有单词“bear”的作者(过滤查询),然后在该结果集中搜索标题 bear。如果您想使用 AND/OR 功能,您应该将两个参数(标题和作者)作为过滤器查询传递。您还可以使用 explain 参数为您提供更多上下文。 https://solr.apache.org/guide/7_4/common-query-parameters.html#debug-parameter