【问题标题】:Compare two fields in kibana search比较kibana搜索中的两个字段
【发布时间】:2016-06-10 06:24:47
【问题描述】:

我有两个字段,一个是与每条记录相关联的时间戳,一个是 expiryDate,所以我想在发现部分搜索部分中放置一个 lucene 查询,以便提取出过期日期 > 时间戳的记录。 任何人都可以帮助我编写查询。 将 online.timestamp 视为一个字段,将 online.expiry 视为另一个字段。

【问题讨论】:

    标签: elasticsearch lucene kibana kibana-4 kibana-3


    【解决方案1】:

    您可以编写以下查询:-

    {"constant_score":{"filter":{"script" : { "script" : "doc['online.expiry'].value > doc['online.timestamp'].value"}}}}
    

    您在使用上述查询时可能会看到错误,例如:-

    ScriptException[类型 [inline]、操作 [search] 和 lang [groovy] 的脚本被禁用]

    要解决此错误,请编辑您的 elasticsearch.yml 文件并在末尾输入以下属性:-

     script.inline:on
    

    然后您可以重新启动您的 Elasticsearch 节点或集群,然后在 Kibana 上查询相同的内容,这将获取您想要的记录。

    【讨论】:

    • 我应该在哪里应用上述查询?我申请了脚本领域,但它抛出了Failed to parse expression
    • 嗨@BilalUsean 您应该在 Kibana 搜索栏中提及该查询。您需要在 elasticsearch.yml 文件中提及 script.inline:on。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2018-06-19
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多