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.
Related 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 ( failing or have been ) tests:
* IndexEmbeddedProgrammaticallyMappedTest * NullEmbeddedTest outlined as part of HSEARCH-2390. |
|