Partager via


SearchIndex.Fields Propriété

Définition

Obtient ou définit les champs dans l’index. Utilisez FieldBuilder pour définir des champs basés sur une classe de modèle, ou SimpleField, SearchableFieldet ComplexField pour définir manuellement des champs. Les champs d’index ont de nombreuses contraintes qui ne sont pas validées avec SearchField tant que l’index n’est pas créé sur le serveur.

public System.Collections.Generic.IList<Azure.Search.Documents.Indexes.Models.SearchField> Fields { get; set; }
member this.Fields : System.Collections.Generic.IList<Azure.Search.Documents.Indexes.Models.SearchField> with get, set
Public Property Fields As IList(Of SearchField)

Valeur de propriété

Exemples

Vous pouvez créer des champs à partir d’une classe de modèle à l’aide de FieldBuilder:

SearchIndex index = new SearchIndex("hotels")
{
    Fields = new FieldBuilder().Build(typeof(Hotel)),
    Suggesters =
    {
        // Suggest query terms from the HotelName field.
        new SearchSuggester("sg", "HotelName")
    }
};

Pour cette raison, Fields est paramétrable. Dans les scénarios où le modèle n’est pas connu ou ne peut pas être modifié, vous pouvez également créer des champs manuellement à l’aide de classes d’assistance :

SearchIndex index = new SearchIndex("hotels")
{
    Fields =
    {
        new SimpleField("HotelId", SearchFieldDataType.String) { IsKey = true, IsFilterable = true, IsSortable = true },
        new SearchableField("HotelName") { IsFilterable = true, IsSortable = true },
        new SearchableField("Description") { AnalyzerName = LexicalAnalyzerName.EnLucene },
        new SearchableField("Tags", collection: true) { IsFilterable = true, IsFacetable = true },
        new ComplexField("Address")
        {
            Fields =
            {
                new SearchableField("StreetAddress"),
                new SearchableField("City") { IsFilterable = true, IsSortable = true, IsFacetable = true },
                new SearchableField("StateProvince") { IsFilterable = true, IsSortable = true, IsFacetable = true },
                new SearchableField("Country") { IsFilterable = true, IsSortable = true, IsFacetable = true },
                new SearchableField("PostalCode") { IsFilterable = true, IsSortable = true, IsFacetable = true }
            }
        }
    },
    Suggesters =
    {
        // Suggest query terms from the hotelName field.
        new SearchSuggester("sg", "HotelName")
    }
};

S’applique à