Why have a root data field and then append ".Data." to most field names? This will be confusing and repetitive for end users
From looking at a series of the indices in Elasticsearch a lot of the indices have mappings that have field names like 'data.Data.IndividualTypeProperties.[FIELD NAME]'. As a more concrete example data.Data.IndividualTypeProperties.FacilityID
.
When using the Lucene query language that the Search Service uses, the queries will be unnecessarily verbose due to the duplicated data field.
From an end user perspective, it doesn't really make sense ether. As an end user trying to use Search, I don't seem to get any value from the extra level of hierarchy. If there is intention to add value, maybe one of the data
fields should be renamed to make something clearer?
Following the same thought process, I am not sure what IndividualTypeProperties
is supposed to mean. Should this not be renamed to something more sensical such as "Well" or "Facility" (or similar) when the index is called "opendes-osdu-well-master"? Having a generic "IndividualTypeProperties" feels like an abstraction too far.
When naming fields, it is best to ask the question "Will my end user easily understand this?" As an example, what makes more sense:
data.Data.IndividualTypeProperties.BlockID
data.Facility.BlockID
With the latter, I know exactly what my field relates to. With the former, I have to guess.