# Elasticsearch v8 Java API client boost Query

**URL:** <https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [August 18, 2022, 9:04pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410 "2022-08-18T21:04:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ijaxahmed](https://avatars.discourse-cdn.com/v4/letter/i/f17d59/32.png) [@ijaxahmed](https://discuss.elastic.co/u/ijaxahmed)\
**Post date:** [August 18, 2022, 9:04pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/1 "2022-08-18T21:04:30Z")

</div>

I am using new Java API client . I have a method in my code which returns Query of multiple types e.g bool, range

```auto

public Query createQuery(String field, String value) {

if(something)
return Query.of(query->query.range(rangeQuery->rangeQuery.field(fieldName).gt(JsonData.of(value))))
else 
retun new Query.Builder().bool(boolQuery->boolQuery.should(query->query.match(matchQuery->matchQuery.field(fieldName)
                            .query(value))));
}

//Calling that method somewhere
Query resultQuery = createQuery("field", "value")

```

but I want to boost the resultQuery, as in Old java client there is QueryBuilder which can be boosted , such as

```auto
QueryBuilder resultQuery = createQuery("field", "value").boost(0.1f)

```

but there is nothing like that possible with Query like

```auto
Query resultQuery = createQuery("field", "value").boost(0.1f)

```

I want to provided this Boosted query into disMaxQuery,  
please help how i can boost the Query.

---

<div class="post-metadata">

**Author:** ![RabBit\_BR](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rabbit_br/32/82261_2.png) [@RabBit\_BR](https://discuss.elastic.co/u/RabBit_BR)\
**Post date:** [August 19, 2022, 12:26am UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/2 "2022-08-19T00:26:56Z")

</div>

Hi @ijaxahmed

A solution would be pass the boost as a parameter.

```auto
public Query createQuery(String fieldName, String value, Float boost) {

    if (something) {
      return Query.of(query -> query
          .range(rangeQuery ->
              rangeQuery.field(fieldName).gt(JsonData.of(value))
                  .boost(boost)));
    } else {
      return new Query.Builder()
          .bool(boolQuery -> boolQuery
              .should(query -> query.match(matchQuery -> matchQuery.field(fieldName).query(value)))
              .boost(boost))
          .build();
    }
  }

```

---

<div class="post-metadata">

**Author:** ![ijaxahmed](https://avatars.discourse-cdn.com/v4/letter/i/f17d59/32.png) [@ijaxahmed](https://discuss.elastic.co/u/ijaxahmed)\
**Post date:** [August 19, 2022, 12:36pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/3 "2022-08-19T12:36:21Z")

</div>

hmm ok Thanks @RabBit_BR , what happens if Null passed as "boost" parameter, then .boost(null) will be ok or cause exception ??

OR

Instead of null i should pass 0 ? boost(0) wont have any effect ?isnt it?

---

<div class="post-metadata">

**Author:** ![RabBit\_BR](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rabbit_br/32/82261_2.png) [@RabBit\_BR](https://discuss.elastic.co/u/RabBit_BR)\
**Post date:** [August 19, 2022, 1:14pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/4 "2022-08-19T13:14:37Z")

</div>

you can do that:

```auto
public static Query createQuery(String fieldName, String value) {
    return createQuery(fieldName, value, 1.0f);
  }

  public static Query createQuery(String fieldName, String value, Float boost) {
....
}

```

---

<div class="post-metadata">

**Author:** ![ijaxahmed](https://avatars.discourse-cdn.com/v4/letter/i/f17d59/32.png) [@ijaxahmed](https://discuss.elastic.co/u/ijaxahmed)\
**Post date:** [August 19, 2022, 1:48pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/5 "2022-08-19T13:48:40Z")

</div>

@RabBit_BR ah ok so the default boost is 1.0f ??? 🙄

---

<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:** [September 16, 2022, 1:49pm UTC](https://discuss.elastic.co/t/elasticsearch-v8-java-api-client-boost-query/312410/6 "2022-09-16T13:49:09Z")

</div>

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