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
前两个文件被返回,因为我们在他们的名字中有 am 或 pm,
我的问题是,即使 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,它告诉您查询是如何解析的。
我正在编写查询,获取名称中包含 "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
前两个文件被返回,因为我们在他们的名字中有 am 或 pm, 我的问题是,即使 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,它告诉您查询是如何解析的。