Elasticsearch lucene query



我正在搜索一个名为package的元素,它的字段为pkg_scope。

当我添加以下字符串到我的查询,我得到200个结果:

AND ( pkg_scope:'Scope Undefined')

当我添加以下字符串时,我得到一个结果:

AND ( NOT pkg_scope:'Top File')

一个结果的范围是' scope Undefined'。我认为期望第二个查询结果包含第一个查询结果是合理的。我错过什么了吗?

完整的查询:

 query: *:* AND rectype:'Package' AND isPublic:"Yes" AND ( NOT pkg_scope:'Top File'  )

我使用的是ES 1.7.1

问题是字符串周围的引号。对于多于一个单词,需要使用双引号。所以NOT pkg_scope:'Top File'需要改成NOT pkg_scope:"Top File"

最新更新