创建在ElasticSearch中处理和查找数据的函数

时间:2018-03-26 18:03:47

标签: elasticsearch elasticsearch-6

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

  1. 截止日期:输入日期,存储日期时间以了解其中的内容 项目截止日期
  2. current_stats:输入long,存储如果 项目状态打开(1),关闭(5)或取消(4)。
  3. 在我的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
            }
        ]
    }
    

0 个答案:

没有答案