77 lines
2.6 KiB
Plaintext
77 lines
2.6 KiB
Plaintext
|
=== Java API changes
|
||
|
|
||
|
==== Transport API construction
|
||
|
|
||
|
The `TransportClient` construction code has changed, it now uses the builder
|
||
|
pattern. Instead of:
|
||
|
|
||
|
[source,java]
|
||
|
--------------------------------------------------
|
||
|
Settings settings = Settings.settingsBuilder()
|
||
|
.put("cluster.name", "myClusterName").build();
|
||
|
Client client = new TransportClient(settings);
|
||
|
--------------------------------------------------
|
||
|
|
||
|
Use the following:
|
||
|
|
||
|
[source,java]
|
||
|
--------------------------------------------------
|
||
|
Settings settings = Settings.settingsBuilder()
|
||
|
.put("cluster.name", "myClusterName").build();
|
||
|
Client client = TransportClient.builder().settings(settings).build();
|
||
|
--------------------------------------------------
|
||
|
|
||
|
==== Automatically thread client listeners
|
||
|
|
||
|
Previously, the user had to set request listener threads to `true` when on the
|
||
|
client side in order not to block IO threads on heavy operations. This proved
|
||
|
to be very trappy for users, and ended up creating problems that are very hard
|
||
|
to debug.
|
||
|
|
||
|
In 2.0, Elasticsearch automatically threads listeners that are used from the
|
||
|
client when the client is a node client or a transport client. Threading can
|
||
|
no longer be manually set.
|
||
|
|
||
|
|
||
|
==== Query/filter refactoring
|
||
|
|
||
|
`org.elasticsearch.index.queries.FilterBuilders` has been removed as part of the merge of
|
||
|
queries and filters. These filters are now available in `QueryBuilders` with the same name.
|
||
|
All methods that used to accept a `FilterBuilder` now accept a `QueryBuilder` instead.
|
||
|
|
||
|
In addition some query builders have been removed or renamed:
|
||
|
|
||
|
* `commonTerms(...)` renamed with `commonTermsQuery(...)`
|
||
|
* `queryString(...)` renamed with `queryStringQuery(...)`
|
||
|
* `simpleQueryString(...)` renamed with `simpleQueryStringQuery(...)`
|
||
|
* `textPhrase(...)` removed
|
||
|
* `textPhrasePrefix(...)` removed
|
||
|
* `textPhrasePrefixQuery(...)` removed
|
||
|
* `filtered(...)` removed. Use `filteredQuery(...)` instead.
|
||
|
* `inQuery(...)` removed.
|
||
|
|
||
|
==== GetIndexRequest
|
||
|
|
||
|
`GetIndexRequest.features()` now returns an array of Feature Enums instead of an array of String values.
|
||
|
|
||
|
The following deprecated methods have been removed:
|
||
|
|
||
|
* `GetIndexRequest.addFeatures(String[])` - Use
|
||
|
`GetIndexRequest.addFeatures(Feature[])` instead
|
||
|
|
||
|
* `GetIndexRequest.features(String[])` - Use
|
||
|
`GetIndexRequest.features(Feature[])` instead.
|
||
|
|
||
|
* `GetIndexRequestBuilder.addFeatures(String[])` - Use
|
||
|
`GetIndexRequestBuilder.addFeatures(Feature[])` instead.
|
||
|
|
||
|
* `GetIndexRequestBuilder.setFeatures(String[])` - Use
|
||
|
`GetIndexRequestBuilder.setFeatures(Feature[])` instead.
|
||
|
|
||
|
|
||
|
==== BytesQueryBuilder removed
|
||
|
|
||
|
The redundant BytesQueryBuilder has been removed in favour of the
|
||
|
WrapperQueryBuilder internally.
|
||
|
|