org.hibernate.search.analyzer.Discriminator allows to dynamically choose the analyzer to use on each field based on the value of one entity property.
This can't be done on Elasticsearch, as analyzers are defined by the mapping, and cannot be specified when indexing.
We should either:
- Find a way to implement this (unlikely).
- Provide an alternative to Elasticsearch backend users. The Elasticsearch doc advises to use fields to address a similar use case: https://www.elastic.co/guide/en/elasticsearch/reference/2.4/multi-fields.html#_multi_fields_with_multiple_analyzers ; see HSEARCH-2454 Closed
- Or at the very least, document the lack of support and the fact that it will stay that way. This is currently documented as a temporary limitation as part of HSEARCH-2393 Closed .
Note: there are disabled tests that should be re-enabled if we implement this feature or marked as definitively disabled if we decide otherwise. Search for the string HSEARCH-2428 in the codebase.