我正在尝试执行两个Lucene查询。第一个有效。第二个没有。我的第一个查询如下:
level:"dangerous"
我的第二个查询如下:
IP address:"11.22.333.444"
我没有收到查询错误。但是,我知道有匹配IP地址的文档。出于这个原因,我怀疑" IP"和"地址"造成了这个问题。但是,我不是Lucene的专家。所以,我不确定我是否正确。
当我使用PostMan查看我的结果集时,我可以看到一个带有如下字段的文档:
"IP address": "11.22.333.444"
有人可以告诉我,如果我的查询是正确的吗?或者,如果我错过了什么?
谢谢!
答案 0 :(得分:6)
是的,这个空间就是问题。
字段名称中的空格是允许的,但与查询解析器语法冲突。您基本上运行两个子查询组合为SHOULD
子句(即OR
):
IP
address:"11.22.333.444"
您可以在空格前使用单个斜杠来转义空格,例如:
IP\ address:"11.22.333.444"