Several issues on Java API 5.x

I've updated to elasticsearch java library version 5.2.0.

In 2.x,

  1. I was using SearchRequestBuilder.addField() in order to add a field to the search request. Nevertheless, It seems to be replaced. I've written the available methods intellisense is showing me. Which of them do I need to pick?
  • addDocValueField
  • addFieldDataField
  • addScriptField
  • addStoredField
  • storedFields
  • fields
  1. SearchRequestBuilder.setNoFields is also removed. Which would be the alternative?
  2. Currently, I'm calling scripts from Java using this code. Is there any more elegant way to call it in 5.x Java API?

Code:

return AggregationBuilders
    .terms(this.getName())
    .field(this.getName())
    .script(new Script(
        ScriptType.FILE,
        "painless",
        "year",
        ImmutableMap.of("field", this.getName())
    )
);

As you can see I setting field as script parameter. Nevertheless, I don't quite understand how to get it from script code.

Thanks.

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