我有两个字段,一个是与每个记录关联的时间戳,一个是expiryDate,所以我想在发现部分搜索部分放置一个lucene查询,以便它提取出有效期限的记录>时间戳。 任何人都可以帮我写这个查询。 将online.timestamp视为一个字段,将online.expiry视为另一个字段。
答案 0 :(得分:1)
您可以编写以下查询: -
{"constant_score":{"filter":{"script" : { "script" : "doc['online.expiry'].value > doc['online.timestamp'].value"}}}}
使用上述查询时可能会出现错误,例如: -
ScriptException [类型为[inline],operation [search]和lang [groovy]的脚本被禁用]
要解决此错误,请编辑elasticsearch.yml文件并在结尾处输入以下属性: -
script.inline:on
然后,您可以重新启动Elasticsearch节点或群集,然后在Kibana上查询相同内容,以便获取所需的记录。