Solr返回无与伦比的文档

时间:2015-12-23 10:53:22

标签: lucene solr5

我正在编写查询获取名称中包含“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

由于我们的名字中有上午下午,因此返回前两个文件, 我的问题是,即使我们没有在 Doc3 的卖家名称中使用am或pm,但这仍然是匹配。 这是因为如果是doc3,我们在 zip 代码中有 pm

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

这是标准的lucene查询语法。

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

您的查询应为:sellerName:(am pm)

答案 1 :(得分:0)

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