You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This method use FieldMapper's indexName as key, fetch field data for a concurrent HashMap. The indexName of FieldMapper is always from a DocumentMapper, which is built like this
When two two fields for different types but with same indexName passed into IndexFieldDataService. getForField(FieldMapper<?> mapper), the second call will retrieve a wrong field data since its indexName will match the key from the first method call which will be already in loadedFieldData.
Please correct me if I misunderstand the logic of this part.
The text was updated successfully, but these errors were encountered:
You are correct. We are removing index_name (#6677) and requiring that fields of the same name in different types in the same index have the same mappings (#4081).
Let's take a look at the implementation of
IndexFieldDataService. getForField(FieldMapper<?> mapper)
This method use
FieldMapper
's indexName as key, fetch field data for a concurrent HashMap. The indexName ofFieldMapper
is always from aDocumentMapper
, which is built like thisThe
new ContentPath(1)
will effect allFieldMapper
's indexNames of aDocumentMapper
. Those indexName won't get a full path with a qualifier.Here is an FieldMapper example which passed into
IndexFieldDataService. getForField(FieldMapper<?> mapper)
When two two fields for different types but with same indexName passed into
IndexFieldDataService. getForField(FieldMapper<?> mapper)
, the second call will retrieve a wrong field data since its indexName will match the key from the first method call which will be already in loadedFieldData.Please correct me if I misunderstand the logic of this part.
The text was updated successfully, but these errors were encountered: