使用Solrapi时,似乎没有正确处理OR逻辑

jslywgbw  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(221)

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

"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同时出现在标题和作者列表中,如果只在标题中查询bear或在作者列表中查询bear,则会得到"numFound":688"numFound":35,我希望这两个集合的OR是这两个集合的并集。(至少有688个项目)而不是交集(2个项目)。如果我将操作从OR切换到AND,我会得到同样的两个项目。这不是Solr API中构造OR查询的正确方式吗?

ojsjcaue

ojsjcaue1#

此查询将筛选结果,使其仅包含带有单词“bear”的作者(筛选查询),然后在该结果集中搜索标题bear。如果要使用AND/OR功能,则应将两个参数(title和author)作为筛选查询传递。还可以使用explain参数给予更多上下文。https://solr.apache.org/guide/7_4/common-query-parameters.html#debug-parameter

相关问题