Elasticsearch过滤日期范围不适用于1970年前的记录

时间:2015-11-03 08:52:00

标签: php elasticsearch elasticsearch-jdbc-river

我面临日期范围问题,这是我的查询

class Parent
{
public:
    virtual ~Parent() = default;
    virtual Parent* Clone() const { return new Parent(*this); }
private:
    string a;
};

class Child : public Parent
{
public:
    Child* Clone() const override { return new Child(*this); }
private:
    string b;
};

class Test
{
public:
    void testFunction(const Parent &parent)
    {
        m_parent.reset(parent.Clone());
    }

private:
    std::unique_ptr<Parent> m_parent;
};

当我通过此查询时它不起作用,它显示了所有结果,如果我正在通过 "filter": { "script": { "script": "(min..max).contains(doc.admitted_date.date.year)", "params": { "min": 1965, "max": 2015 } } } 它正在运行。此过滤器无法与 1970 一起使用。如果我通过"min" : 1971"min":1958它正在运作。当我包含"max":1969时,过滤器无效。请帮我解决这个问题。

编辑:

它将从空值中获取记录。如果1970admitted_date。它将在1970年的记录中显示出来。

提前致谢,

0 个答案:

没有答案