in Elastic.SemanticKernel.Connectors.Elasticsearch/Internal/Helpers/VectorStoreRecordPropertyReader.cs [346:362]
private void LoadPropertyInfoIfNeeded()
{
if (this._keyPropertiesInfo != null)
{
return;
}
// If we previously built the definition from the data model, the PropertyInfo objects
// from the data model would already be saved. If we didn't though, there could be a mismatch
// between what is defined in the definition and what is in the data model. Therefore, this
// method will throw if any property in the definition is not on the data model.
var propertiesInfo = FindPropertiesInfo(this._dataModelType, this._vectorStoreRecordDefinition);
this._keyPropertiesInfo = propertiesInfo.KeyProperties;
this._dataPropertiesInfo = propertiesInfo.DataProperties;
this._vectorPropertiesInfo = propertiesInfo.VectorProperties;
}