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