in Elastic.SemanticKernel.Connectors.Elasticsearch/Internal/Helpers/VectorStoreRecordPropertyReader.cs [415:443]
private static (List<PropertyInfo> KeyProperties, List<PropertyInfo> DataProperties, List<PropertyInfo> VectorProperties) FindPropertiesInfo(Type type)
{
List<PropertyInfo> keyProperties = new();
List<PropertyInfo> dataProperties = new();
List<PropertyInfo> vectorProperties = new();
foreach (var property in type.GetProperties())
{
// Get Key property.
if (property.GetCustomAttribute<VectorStoreRecordKeyAttribute>() is not null)
{
keyProperties.Add(property);
}
// Get data properties.
if (property.GetCustomAttribute<VectorStoreRecordDataAttribute>() is not null)
{
dataProperties.Add(property);
}
// Get Vector properties.
if (property.GetCustomAttribute<VectorStoreRecordVectorAttribute>() is not null)
{
vectorProperties.Add(property);
}
}
return (keyProperties, dataProperties, vectorProperties);
}