使用 Solr api,它似乎没有正确处理 OR 逻辑



以下是显示查询参数的查询响应片段:

"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查询的正确方法吗?

此查询过滤结果,使其仅包含单词为"的作者;熊;(过滤查询(,然后在该结果集中搜索标题熊。如果您想使用AND/OR功能,您应该将两个params(title和author(作为筛选查询传递。您还可以使用explain参数来提供更多上下文。https://solr.apache.org/guide/7_4/common-query-parameters.html#debug-参数

相关内容

  • 没有找到相关文章

最新更新