java.asciidoc 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. === Java API changes
  2. ==== Transport API construction
  3. The `TransportClient` construction code has changed, it now uses the builder
  4. pattern. Instead of:
  5. [source,java]
  6. --------------------------------------------------
  7. Settings settings = Settings.settingsBuilder()
  8. .put("cluster.name", "myClusterName").build();
  9. Client client = new TransportClient(settings);
  10. --------------------------------------------------
  11. Use the following:
  12. [source,java]
  13. --------------------------------------------------
  14. Settings settings = Settings.settingsBuilder()
  15. .put("cluster.name", "myClusterName").build();
  16. Client client = TransportClient.builder().settings(settings).build();
  17. --------------------------------------------------
  18. ==== Automatically thread client listeners
  19. Previously, the user had to set request listener threads to `true` when on the
  20. client side in order not to block IO threads on heavy operations. This proved
  21. to be very trappy for users, and ended up creating problems that are very hard
  22. to debug.
  23. In 2.0, Elasticsearch automatically threads listeners that are used from the
  24. client when the client is a node client or a transport client. Threading can
  25. no longer be manually set.
  26. ==== Query/filter refactoring
  27. `org.elasticsearch.index.queries.FilterBuilders` has been removed as part of the merge of
  28. queries and filters. These filters are now available in `QueryBuilders` with the same name.
  29. All methods that used to accept a `FilterBuilder` now accept a `QueryBuilder` instead.
  30. In addition some query builders have been removed or renamed:
  31. * `commonTerms(...)` renamed with `commonTermsQuery(...)`
  32. * `queryString(...)` renamed with `queryStringQuery(...)`
  33. * `simpleQueryString(...)` renamed with `simpleQueryStringQuery(...)`
  34. * `textPhrase(...)` removed
  35. * `textPhrasePrefix(...)` removed
  36. * `textPhrasePrefixQuery(...)` removed
  37. * `filtered(...)` removed. Use `filteredQuery(...)` instead.
  38. * `inQuery(...)` removed.
  39. ==== GetIndexRequest
  40. `GetIndexRequest.features()` now returns an array of Feature Enums instead of an array of String values.
  41. The following deprecated methods have been removed:
  42. * `GetIndexRequest.addFeatures(String[])` - Use
  43. `GetIndexRequest.addFeatures(Feature[])` instead
  44. * `GetIndexRequest.features(String[])` - Use
  45. `GetIndexRequest.features(Feature[])` instead.
  46. * `GetIndexRequestBuilder.addFeatures(String[])` - Use
  47. `GetIndexRequestBuilder.addFeatures(Feature[])` instead.
  48. * `GetIndexRequestBuilder.setFeatures(String[])` - Use
  49. `GetIndexRequestBuilder.setFeatures(Feature[])` instead.
  50. ==== BytesQueryBuilder removed
  51. The redundant BytesQueryBuilder has been removed in favour of the
  52. WrapperQueryBuilder internally.