# Elasticsearch 5. Execute a gauss function after a bool filter Java API

**URL:** https://discuss.elastic.co/t/elasticsearch-5-execute-a-gauss-function-after-a-bool-filter-java-api/89887
**Category:** Elasticsearch
**Created:** [June 19, 2017, 6:33am UTC](https://discuss.elastic.co/t/elasticsearch-5-execute-a-gauss-function-after-a-bool-filter-java-api/89887 "2017-06-19T06:33:06Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Jon\_Rodriguez\_Breton](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jon_rodriguez_breton/32/19245_2.png) [@Jon\_Rodriguez\_Breton](https://discuss.elastic.co/u/Jon_Rodriguez_Breton)
#### Post date: [June 19, 2017, 6:33am UTC](https://discuss.elastic.co/t/elasticsearch-5-execute-a-gauss-function-after-a-bool-filter-java-api/89887/1 "2017-06-19T06:33:06Z")

</div>

I'm trying to make a query with Elasticsearch5 Java API and I'm getting a little bit confused.

I want to transalte this query to Java API:

```
{
    "query":{
        "function_score": {
            "query": {
                "bool": {
                    "must": [
                        {"term": { "machineNumber": "2" }},
                        { "range" : {"epoch" : {
                                            "gte" : 1493546400000,
                                            "lte" : 1493967600000
                                        }}}
                    ]
                }
            },
            "gauss": {
                "epoch": {
                      "origin": "1493775811046", 
                      "scale": "1s"
                }
            }
        }
    }
}

```

I've tryied several things but the latest thing I've tryied is as follows:

```
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();

```

This code doesn't work fine, the IDE tells me:

> method filterFunctionBuilders in class functionScoreQueryBuilder cannot be applied to given types.

Any help would be appreciated.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 17, 2017, 6:33am UTC](https://discuss.elastic.co/t/elasticsearch-5-execute-a-gauss-function-after-a-bool-filter-java-api/89887/2 "2017-07-17T06:33:11Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
