Lucene查询带空格的字段语法

时间:2014-04-24 00:09:23

标签: lucene

我正在尝试执行两个Lucene查询。第一个有效。第二个没有。我的第一个查询如下:

level:"dangerous"

我的第二个查询如下:

IP address:"11.22.333.444"

我没有收到查询错误。但是,我知道有匹配IP地址的文档。出于这个原因,我怀疑" IP"和"地址"造成了这个问题。但是,我不是Lucene的专家。所以,我不确定我是否正确。

当我使用PostMan查看我的结果集时,我可以看到一个带有如下字段的文档:

"IP address": "11.22.333.444"

有人可以告诉我,如果我的查询是正确的吗?或者,如果我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:6)

是的,这个空间就是问题。

字段名称中的空格是允许的,但与查询解析器语法冲突。您基本上运行两个子查询组合为SHOULD子句(即OR):

  • IP
  • address:"11.22.333.444"

您可以在空格前使用单个斜杠来转义空格,例如:

IP\ address:"11.22.333.444"