Solr 返回不匹配的文件

Solr returning unmatched documents

我正在编写查询,获取名称中包含 "am" 或 "pm" 的所有文档,我的查询是这样的:(sellerName:am pm).

返回文档如下:

doc1:

  seller name:am
  city: bangalore 
  state:Kar
  country:In
  zip:560034

doc2:

          seller name:pm
          city: bang
          state:Kar
          country:In
          zip:560034

doc3:

      seller name: Ganesh
      city: bang
      state:Kar pm
      country:In
      zip:560034

前两个文件被返回,因为我们在他们的名字中有 ampm, 我的问题是,即使 Doc3 的卖家名称中没有 am 或 pm,这仍然是匹配项。 这是因为我们在 zip 代码中有 pm if doc3.

我不希望这个结果被退回。我怎样才能做到这一点?为什么它与 Doc3 匹配,即使 doc3 不包含 am 或 pm。

提前致谢。

这是标准的 Lucene 查询语法。

sellerName:am pm 转换为 sellerName:am defaultField:pm。我猜你的默认字段可能是 "all" field 或类似的东西。

您的查询应该是:sellerName:(am pm)

确定发送给 Lucene 的查询的一种非常简单的方法是发送 debugQuery=true,它告诉您查询是如何解析的。