0

目前在我的映射(ES 6.2)中,我有两个属性:

  1. 截止日期:键入日期,存储日期时间以了解项目的截止日期
  2. current_stats:类型 long,存储项目的状态是打开 (1)、关闭 (5) 还是取消 (4)。

在我的 PostgreSQL 中,我有一个函数可以处理这些数据并返回截止日期是否已过期,如下面的代码:

IF (deadline IS NULL) THEN
--WITHOUT DEADLINE
RETURN 2;
ELSIF
(
((current_stats IN (4, 5)) AND (deadline >= current_timestamp))
)
THEN
--UNEXPIRED DEADLINE
RETURN 1;
ELSIF
(
((current_stats NOT IN (4, 5)) AND (deadline < datahora))
)
THEN
--EXPIRED DEADLINE
RETURN 0;
ELSIF
(
((current_stats IN (4, 5)) AND (deadline < current_timestamp))
)
THEN
--EXPIRED DEADLINE
RETURN 0;
ELSIF
(
((current_stats NOT IN (4, 5)) AND (deadline >= current_timestamp))
)
THEN
--UNEXPIRED DEADLINE
RETURN 1;
ELSIF
(
((current_stats NOT IN (4, 5)) AND (deadline < current_timestamp))
)
THEN
--EXPIRED DEADLINE
RETURN 0;
END IF;

是否可以在 ElasticSearch 中创建类似的东西来使用函数查找数据?

例子:

"bool": {
    "term": [
        {
            function_deadline_ok(deadline, current_stats): 1
        }
    ]
}
4

0 回答 0