elasticsearch-5,Java,elasticsearch 5" /> elasticsearch-5,Java,elasticsearch 5" />

Elasticsearch 5在布尔过滤器Java API之后执行高斯函数

Elasticsearch 5在布尔过滤器Java API之后执行高斯函数,java,elasticsearch-5,Java,elasticsearch 5,我试图用Elasticsearch5 Java API进行查询,但我有点困惑 我想将此查询转换为Java API: { "query":{ "function_score": { "query": { "bool": { "must": [ {"term": { "machineNumber": "2" }},

我试图用Elasticsearch5 Java API进行查询,但我有点困惑

我想将此查询转换为Java API:

{
    "query":{
        "function_score": {
            "query": {
                "bool": {
                    "must": [
                        {"term": { "machineNumber": "2" }},
                        { "range" : {"epoch" : {
                                            "gte" : 1493546400000,
                                            "lte" : 1493967600000
                                        }}}
                    ]
                }
            },
            "gauss": {
                "epoch": {
                      "origin": "1493775811046", 
                      "scale": "1s"
                }
            }
        }
    }
}
我试过几件事,但最新的一件事是:

QueryBuilder qb = boolQuery()
                .must(QueryBuilders.termQuery("machineNumber", machineNumber))
                .must(QueryBuilders.rangeQuery("epoch").gte(startDate).lte(endDate));

        FilterFunctionBuilder[] functions = {
            new FunctionScoreQueryBuilder.FilterFunctionBuilder(
            ScoreFunctionBuilders.gaussDecayFunction("epoch", "1493775811046", "1s")
            )
        };

SearchResponse nearest_temp_ej = client.prepareSearch("temperature-test-2")
                .setTypes("type")
                .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                .setQuery(QueryBuilders.functionScoreQuery(qb).filterFunctionBuilders(functions))
                .execute().actionGet();
此代码无法正常工作,IDE告诉我:

functionScoreQueryBuilder类中的FilterFunctionBuilder方法 无法应用于给定的类型

任何帮助都将不胜感激