Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带空格字段的Lucene查询语法_Lucene - Fatal编程技术网

带空格字段的Lucene查询语法

带空格字段的Lucene查询语法,lucene,Lucene,我正在尝试执行两个Lucene查询。第一个有效。第二种情况并非如此。我的第一个查询如下所示: level:"dangerous" IP address:"11.22.333.444" "IP address": "11.22.333.444" 我的第二个查询如下所示: level:"dangerous" IP address:"11.22.333.444" "IP address": "11.22.333.444" 我没有得到一个查询错误。不过,我知道有些文档具有匹配的IP地址。因此

我正在尝试执行两个Lucene查询。第一个有效。第二种情况并非如此。我的第一个查询如下所示:

level:"dangerous"
IP address:"11.22.333.444"
"IP address": "11.22.333.444"
我的第二个查询如下所示:

level:"dangerous"
IP address:"11.22.333.444"
"IP address": "11.22.333.444"
我没有得到一个查询错误。不过,我知道有些文档具有匹配的IP地址。因此,我怀疑“IP”和“address”之间的空格是导致问题的原因。然而,我不是Lucene方面的专家。所以,我不确定我的说法是否正确

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

level:"dangerous"
IP address:"11.22.333.444"
"IP address": "11.22.333.444"
有人能告诉我我的问题是否正确吗?或者,如果我遗漏了什么


谢谢大家!

是的,空间就是问题所在

字段名中的空格是允许的,但与查询解析器语法冲突。实际上,您正在运行两个子查询,它们组合为
SHOULD
子句(即
):

  • IP
  • 地址:“11.22.333.444”
可以在空格前使用一条斜线来转义空格,如:

IP\ address:"11.22.333.444"

我怀疑在最初的帖子里有一个类型。诀窍是使用一条斜线来避开空间,然后它就可以工作了。如:IP\地址:。。。