Repository: microsoft/semantic-kernel
File: dotnet/src/Connectors/VectorData.Abstractions/ConnectorSupport/VectorStoreRecordDataPropertyModel.cs (C#)

Code before:
﻿// Copyright (c) Microsoft. All rights reserved.

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;

namespace Microsoft.Extensions.VectorData.ConnectorSupport;

/// <summary>
/// Represents a data property on a vector store record.
/// This is an internal support type meant for use by connectors only, and not for use by applications.
/// </summary>
[Experimental("MEVD9001")]
public class VectorStoreRecordDataPropertyModel(string modelName, Type type) : VectorStoreRecordPropertyModel(modelName, type)
{
    /// <summary>
    /// Gets or sets a value indicating whether this data property is indexed for filtering.
    /// </summary>
    /// <value>
    /// The default is <see langword="false" />.
    /// </value>
    public bool IsIndexed { get; set; }

    /// <summary>
    /// Gets or sets a value indicating whether this data property is indexed for full-text search.
    /// </summary>
    /// <value>
    /// The default is <see langword="false" />.
    /// </value>
    public bool IsFullTextIndexed { get; set; }

    /// <inheritdoc/>
    // TODO: Temporary, remove once we move to Dictionary<string, object?> as the dynamic representation
    public override object? GetValueAsObject(object record)
    {
        if (this.PropertyInfo is null)
        {
            var type = record.GetType();

            if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(VectorStoreGenericDataModel<>))
            {
                var dataProperty = type.GetProperty("Data")!;

Review comment (suggestion):
nit (because indexing is also for ordering I guess?)

```suggestion
    /// Gets or sets a value indicating whether this data property is indexed.
```

Code after:
﻿// Copyright (c) Microsoft. All rights reserved.

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;

namespace Microsoft.Extensions.VectorData.ConnectorSupport;

/// <summary>
/// Represents a data property on a vector store record.
/// This is an internal support type meant for use by connectors only, and not for use by applications.
/// </summary>
[Experimental("MEVD9001")]
public class VectorStoreRecordDataPropertyModel(string modelName, Type type) : VectorStoreRecordPropertyModel(modelName, type)
{
    /// <summary>
    /// Gets or sets a value indicating whether this data property is indexed.
    /// </summary>
    /// <value>
    /// The default is <see langword="false" />.
    /// </value>
    public bool IsIndexed { get; set; }

    /// <summary>
    /// Gets or sets a value indicating whether this data property is indexed for full-text search.
    /// </summary>
    /// <value>
    /// The default is <see langword="false" />.
    /// </value>
    public bool IsFullTextIndexed { get; set; }

    /// <inheritdoc/>
    // TODO: Temporary, remove once we move to Dictionary<string, object?> as the dynamic representation
    public override object? GetValueAsObject(object record)
    {
        if (this.PropertyInfo is null)
        {
            var type = record.GetType();

            if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(VectorStoreGenericDataModel<>))
            {
                var dataProperty = type.GetProperty("Data")!;