SearchIndex.Fields Eigenschaft

Definition

Ruft die Felder im Index ab oder legt sie fest. Verwenden Sie FieldBuilder , um Felder basierend auf einer Modellklasse oder SimpleField, SearchableFieldund ComplexField zu definieren, um Felder manuell zu definieren. Indexfelder weisen viele Einschränkungen auf, die erst überprüft SearchField werden, wenn der Index auf dem Server erstellt wird.

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)

Eigenschaftswert

Beispiele

Sie können Felder aus einer Modellklasse mit FieldBuildererstellen:

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

Aus diesem Grund Fields kann festgelegt werden. In Szenarien, in denen das Modell nicht bekannt ist oder nicht geändert werden kann, können Sie Felder auch manuell mithilfe von Hilfsklassen erstellen:

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")
    }
};

Gilt für: