Implementation note: Elasticsearch doesn't support "null_value" for object fields, and does not support setting a string value (our null token) to an object field either, so I don't see how we can get the same kind of queries we had with the Lucene backend ("path.to.embedded:__null__") working. Maybe we could just support the *concept* of "exists" queries, and not comply with the user-provided token? That would mean transforming queries such as "queryBuilder.keyword().onField("path.to.embedded").matching(null)" to "exists" queries in Elasticsearch. See https://www.elastic.co/guide/en/elasticsearch/guide/current/_dealing_with_null_values.html Note: there are tests that should pass when this ticket is resolved, and that are currently disabled in the pom.xml of the Elasticsearch module. Those tests will be (or have been) outlined as part of HSEARCH-2390. Also, some relevant tests are disabled using the {{ElasticsearchSupportInProgress}} category. |
|