Kibana 4 - 为什么在使用 .raw 时我的简单查询 return 正确结果却不是没有?
Kibana 4 - Why does my simple query return correct results when using .raw but not without?
我正在尝试 Elasticsearch/Kibana 4,而我的简单查询:
program.raw:"MYAPPLICATION" AND entityId.raw:"12345-67N"
将 return 我想要的结果 - 即结果帖子具有 program 和 entityId 字段并直接包含查询的术语,如我所愿。
不过,我想正确的查询方式是:
program:"MYAPPLICATION" AND entityId:"12345-67N"
但这只给出了关于程序查询的正确结果,然后是包含 N 或 n 的术语的大量命中。 entityId 部分似乎只查询 N?。我很困惑,请解释一下。我已经阅读了 Lucene 查询语法,但找不到任何解释这一点的内容。
.raw 字段由 logstash 设置为 elasticsearch 中的 "not_analyzed" 字段。因此,它们不会被拆分成代币,可以原封不动地使用。
对于 elasticsearch,entityId
确实看起来像 ['12345', '67n'],这就是您的查询不匹配的原因。
请注意,在您的示例中,program:myapplication 应该有效(因为没有特殊字符)。小写是自动的,IIRC。
我正在尝试 Elasticsearch/Kibana 4,而我的简单查询:
program.raw:"MYAPPLICATION" AND entityId.raw:"12345-67N"
将 return 我想要的结果 - 即结果帖子具有 program 和 entityId 字段并直接包含查询的术语,如我所愿。
不过,我想正确的查询方式是:
program:"MYAPPLICATION" AND entityId:"12345-67N"
但这只给出了关于程序查询的正确结果,然后是包含 N 或 n 的术语的大量命中。 entityId 部分似乎只查询 N?。我很困惑,请解释一下。我已经阅读了 Lucene 查询语法,但找不到任何解释这一点的内容。
.raw 字段由 logstash 设置为 elasticsearch 中的 "not_analyzed" 字段。因此,它们不会被拆分成代币,可以原封不动地使用。
对于 elasticsearch,entityId
确实看起来像 ['12345', '67n'],这就是您的查询不匹配的原因。
请注意,在您的示例中,program:myapplication 应该有效(因为没有特殊字符)。小写是自动的,IIRC。