[英]COALESCE in Elasticsearch
我将MongoId与红宝石配合使用。 对于我的搜索,我正在使用elasticsearch。
我有一个日期字段。 这是可选字段,我将其用作停止日期。 在搜索中,我想知道我的停止日期是否大于搜索停止日期。 例
{
"range": {
"stop_date": {
"gt": "#{search_stop}"
}
}
}
停止日期为null时的问题我需要在此查询中返回它,但不是因为停止日期为null或不在文档中。
我需要停止日期为null或不在文档中时将搜索设置为默认值,例如21/31/2100。
任何建议将不胜感激...
有两种方法。
第二种方法是更改查询
{ "query": { "filtered": { "filter": { "or": [ { "range": { "stop_date": { "gt": "#{search_stop}" } } }, { "missing": { "field": "stop_date" } } ] } } } }
如果缺少stop_date字段或匹配日期范围过滤器,则此处的文档将匹配。
我的建议是使用第二个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.