Adding a ticket, since I'm working on it. I will update the required changes below as I find new ones.
Changes in ES:
* The {{string}} datatype disappeared and has been replaced by {{text}} and {{keyword}}. What we need is probably {{text}}, except for non-anlyzed fields that must be {{keyword}} s. * {{null_value}} is no longer supported on the {{text}} datatype * "filtered" queries are no longer supported and must be replaced by "bool" queries with a "must" and a "filter" * Support for specifying analyzers in elasticsearch.yaml seems to have been removed: https://www.elastic.co/guide/en/elasticsearch/reference/5.x/analysis-custom-analyzer.html . Also, analyzer definitions are now index-scoped. * the "queryString" keyword for query string queries does not work anymore, we must use "query_string" (I wonder why we didn't in the first place) * sorting on text fields now requires enabling data loading * DeleteByQuery is a core feature again, with its own API. The plugin has been removed. * The groovy plugin has been removed. Maybe it's default scripting language is now a core feature? Painless, which is very similar to Groovy (only script parameters must be prefixed with {{params.}}) * The "fields" keyword when querying is now "stored_fields" and using "_source" in there is disallowed. Source filtering must be used to access the _source. * HSEARCH-2414 affects Elasticsearch 5.0 too (not only 2.4.1). This might be worked around by using a format such as {{ZZ-ZZZ}} instead of {{ZZ[ZZZ]}} * {{arcDistanceInKm}} has been renamed to {{arcDistance}} and now returns meters: https://www.elastic.co/guide/en/elasticsearch/reference/5.0/breaking_50_scripting.html#_geopoint_scripts * the {{size}} parameter in bucket aggregation queries (used for facetting) used to accept a 0 value, meaning "Integer.MAX_VALUE". It was a deprecated feature and it's not possible anymore. See https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-aggregations-bucket-terms-aggregation.html#_size
Other issues:
* The elasticsearch-maven-plugin is not compatible with ES 5
See also HSEARCH-2384, and in particular my branch where I'm poking around to see what needs to be done: https://github.com/yrodiere/hibernate-search/tree/HSEARCH-2384 |
|