Kibana 4 - 为什么我的简单查询在使用.raw时返回正确的结果但不是没有?

时间:2015-12-01 20:44:30

标签: elasticsearch lucene logstash kibana-4

我正在试用Elasticsearch / Kibana 4而我的简单查询:

program.raw:"MYAPPLICATION" AND entityId.raw:"12345-67N"

将返回我想要的结果 - 即结果帖具有program和entityId字段,并且根据需要直接包含查询的术语。

但是,我想查询它的正确方法是:

program:"MYAPPLICATION" AND entityId:"12345-67N"

但是这只给出了关于程序查询的正确结果,然后在包含N或n的条件上给出了很多命中。 entityId-part似乎只在N?上查询。我很困惑,请解释一下。我已经阅读了Lucene查询语法,无法找到解释此问题的任何内容。

1 个答案:

答案 0 :(得分:1)

.raw字段由logstash设置为elasticsearch中的“not_analyzed”字段。因此,它们不会被分成令牌,可以完整使用。

对于elasticsearch,entityId看起来真的像['12345','67n'],这就是你的查询不匹配的原因。

请注意,在您的示例中,程序:myapplication应该可以工作(因为没有特殊字符)。小写是自动的,IIRC。