I am currently developing a plugin for Elasticsearch and trying out the new dense_vector data type.
what i'm currently trying to do is register a PostIndexOperationListener and IndexOperationEventListener objects for any index which has a dense_vector field in my cluster. i do this by overriding onIndexModule in my plugin, but unfortunately i can't get the index mapping except by reflection of the private members of IndexModule (IndexModule -> IndexSettings -> IndexMetadata -> ImmutableOpenMap...).
is there another way i can explore the index mapping from within onIndexModule method?
another issue is when adding a new dense_vector field to an existing index, i would like to be able to react to the mappings change and install my listeners. however, in the onIndexModule method, again using reflection, i get the version of the mappings before the change is applied (meaning the new field is not in the mappings).
is there a way i can react to the mappings change and get the most updated version of the mappings?
-- Tom Elias.