Azure Bilişsel Arama temel dizin oluşturmaCreate a basic index in Azure Cognitive Search

Azure Bilişsel Arama, Dizin , Azure bilişsel arama hizmetinde filtrelenmiş ve tam metin araması için kullanılan bir belge ve diğer yapıların kalıcı bir deposudur.In Azure Cognitive Search, an index is a persistent store of documents and other constructs used for filtered and full text search on an Azure Cognitive Search service. Kavramsal olarak, bir belge, dizininizdeki aranabilir verilerin tek bir birimidir.Conceptually, a document is a single unit of searchable data in your index. Örneğin, bir e-ticaret satıcısında sattığı her bir öğe için bir belge, bir haber kuruluşunda her bir makale için bir belge, vb. olabilir.For example, an e-commerce retailer might have a document for each item they sell, a news organization might have a document for each article, and so forth. Bu kavramları daha çok bilinen veritabanı eşdeğerlerine eşleyen bir dizin, kavramsal olarak bir tabloya benzer ve belgeler de bir tablodaki satırlarla kabaca eşdeğerdir.Mapping these concepts to more familiar database equivalents: an index is conceptually similar to a table, and documents are roughly equivalent to rows in a table.

Bir dizin eklediğinizde veya karşıya yüklediğinizde, Azure Bilişsel Arama sağladığınız şemaya göre fiziksel yapılar oluşturur.When you add or upload an index, Azure Cognitive Search creates physical structures based on the schema you provide. Örneğin, dizininizdeki bir alan aranabilir olarak işaretlenmişse, bu alan için ters bir dizin oluşturulur.For example, if a field in your index is marked as searchable, an inverted index is created for that field. Daha sonra, belgeleri eklediğinizde veya karşıya yüklediğinizde ya da Azure Bilişsel Arama arama sorguları gönderdiğinizde, istekleri arama hizmetinizde belirli bir dizine gönderiyorsunuz.Later, when you add or upload documents, or submit search queries to Azure Cognitive Search, you are sending requests to a specific index in your search service. Belge değerleriyle alanları yüklemeye dizinleme veya veri alımı denir.Loading fields with document values is called indexing or data ingestion.

Portal, REST APIveya .NET SDK 'sındabir dizin oluşturabilirsiniz.You can create an index in the portal, REST API, or .NET SDK.

Doğru dizin tasarımına ulaşan genellikle birden çok yineleme aracılığıyla elde edilir.Arriving at the right index design is typically achieved through multiple iterations. Araçların ve API 'lerin bir birleşimini kullanmak, tasarımınızı hızlı bir şekilde sonuçlamanızı sağlamanıza yardımcı olabilir.Using a combination of tools and APIs can help you finalize your design quickly.

  1. Bir Dizin Oluşturucukullanıp kullanamayacağını belirleme.Determine whether you can use an indexer. Dış verileriniz desteklenen veri kaynaklarından biri ise, verileri Içeri aktarma Sihirbazı 'nı kullanarak bir dizini prototip ve yükleyebilirsiniz.If your external data is one of the supported data sources, you can prototype and load an index using the Import data wizard.

  2. Içeri aktarma verilerinikullanamıyoruz, portalda bir başlangıç dizini oluşturabilir, alanları, veri türlerini ekleyebilir ve Dizin Ekle sayfasında denetimleri kullanarak öznitelikleri atayabilirsiniz.If you can't use Import data, you can still create an initial index in the portal, adding fields, data types, and assigning attributes using controls on the Add Index page. Portal, farklı veri türleri için hangi özniteliklerin kullanılabildiğini gösterir.The portal shows you which attributes are available for different data types. Dizin tasarımına yeni başladıysanız, bu yararlı olur.If you're new to index design, this is helpful.

    Öznitelikleri veri türüne göre gösteren Dizin sayfası ekleAdd index page showing attributes by data type

    Oluştur' a tıkladığınızda, dizininizi destekleyen tüm fiziksel yapılar arama hizmetinizde oluşturulur.When you click Create, all of the physical structures supporting your index are created in your search service.

  3. Get ındex REST API ve Postmangibi bir Web testi aracı kullanarak Dizin şemasını indirin.Download the index schema using Get Index REST API and a web testing tool like Postman. Artık portalda oluşturduğunuz dizinin JSON gösterimine sahipsiniz.You now have a JSON representation of the index you created in the portal.

    Bu noktada kod tabanlı bir yaklaşıma geçiyorsunuz.You are switching to a code-based approach at this point. Zaten oluşturulmuş bir dizini düzenleyemezsiniz, Portal yineleme için uygun değildir.The portal is not well-suited for iteration because you cannot edit an index that is already created. Ancak geri kalan görevler için Postman ve REST kullanabilirsiniz.But you can use Postman and REST for the remaining tasks.

  4. Dizininizi verilerle yükleyin.Load your index with data. Azure Bilişsel Arama JSON belgelerini kabul eder.Azure Cognitive Search accepts JSON documents. Verilerinizi programlı bir şekilde yüklemek için, istek yükünde JSON belgeleriyle Postman kullanabilirsiniz.To load your data programmatically, you can use Postman with JSON documents in the request payload. Verileriniz JSON olarak kolayca ifade edideğilse, bu adım en yoğun işgücü olacaktır.If your data is not easily expressed as JSON, this step will be the most labor intensive.

  5. İstediğiniz sonuçları görene kadar dizininizin dizinini sorgulayın, sonuçları inceleyin ve dizin şemasında daha fazla yineleme yapın.Query your index, examine results, and further iterate on the index schema until you begin to see the results you expect. Dizininizi sorgulamak için Arama Gezgini 'Ni veya Postman 'ı kullanabilirsiniz.You can use Search explorer or Postman to query your index.

  6. Tasarımınızı yinelemek için kodu kullanmaya devam edin.Continue using code to iterate over your design.

Fiziksel yapılar hizmette oluşturulduğundan, var olan bir alan tanımında her madde değişikliği yaptığınızda dizinleri bırakıp yeniden oluşturmak gereklidir.Because physical structures are created in the service, dropping and recreating indexes is necessary whenever you make material changes to an existing field definition. Bu, geliştirme sırasında sık sık yeniden oluşturmanız planlanmalıdır.This means that during development, you should plan on frequent rebuilds. Yeniden oluşturma işlemini daha hızlı hale getirmek için verilerinizin bir alt kümesiyle çalışmayı düşünebilirsiniz.You might consider working with a subset of your data to make rebuilds go faster.

Bir portal yaklaşımı yerine kod, yinelemeli tasarım için önerilir.Code, rather than a portal approach, is recommended for iterative design. Dizin tanımı için portala sahipseniz, her yeniden oluşturma sırasında dizin tanımını doldurmanız gerekir.If you rely on the portal for index definition, you will have to fill out the index definition on each rebuild. Alternatif olarak, Postman ve REST API gibi araçlar, geliştirme projeleri hala erken aşamalarındayken kavram kanıtı testi için yararlıdır.As an alternative, tools like Postman and the REST API are helpful for proof-of-concept testing when development projects are still in early phases. Bir istek gövdesinde Dizin tanımında artımlı değişiklikler yapabilir ve sonra güncelleştirilmiş bir şemayı kullanarak bir dizini yeniden oluşturmak için isteği hizmetinize gönderebilirsiniz.You can make incremental changes to an index definition in a request body, and then send the request to your service to recreate an index using an updated schema.

Bir dizinin bileşenleriComponents of an index

Şemaya göre, Azure Bilişsel Arama dizini aşağıdaki öğelerden oluşur.Schematically, an Azure Cognitive Search index is composed of the following elements.

Alanlar koleksiyonu genellikle bir dizinin en büyük bölümüdür; burada her bir alan adlandırılmış, yazılır ve nasıl kullanılacağını belirleyecek izin verilen davranışlar ile adlandırılır.The fields collection is typically the largest part of an index, where each field is named, typed, and attributed with allowable behaviors that determine how it is used. Diğer öğeler Öneri araçları, Puanlama profillerini, özelleştirme, CORS ve şifreleme anahtarı seçeneklerini destekleyen bileşen bölümlerine sahip Çözümleyicileri içerir.Other elements include suggesters, scoring profiles, analyzers with component parts to support customization, CORS and encryption key options.

{
  "name": (optional on PUT; required on POST) "name_of_index",
  "fields": [
    {
      "name": "name_of_field",
      "type": "Edm.String | Collection(Edm.String) | Edm.Int32 | Edm.Int64 | Edm.Double | Edm.Boolean | Edm.DateTimeOffset | Edm.GeographyPoint",
      "searchable": true (default where applicable) | false (only Edm.String and Collection(Edm.String) fields can be searchable),
      "filterable": true (default) | false,
      "sortable": true (default where applicable) | false (Collection(Edm.String) fields cannot be sortable),
      "facetable": true (default where applicable) | false (Edm.GeographyPoint fields cannot be facetable),
      "key": true | false (default, only Edm.String fields can be keys),
      "retrievable": true (default) | false,
      "analyzer": "name_of_analyzer_for_search_and_indexing", (only if 'searchAnalyzer' and 'indexAnalyzer' are not set)
      "searchAnalyzer": "name_of_search_analyzer", (only if 'indexAnalyzer' is set and 'analyzer' is not set)
      "indexAnalyzer": "name_of_indexing_analyzer", (only if 'searchAnalyzer' is set and 'analyzer' is not set)
      "synonymMaps": [ "name_of_synonym_map" ] (optional, only one synonym map per field is currently supported)
    }
  ],
  "suggesters": [
    {
      "name": "name of suggester",
      "searchMode": "analyzingInfixMatching",
      "sourceFields": ["field1", "field2", ...]
    }
  ],
  "scoringProfiles": [
    {
      "name": "name of scoring profile",
      "text": (optional, only applies to searchable fields) {
        "weights": {
          "searchable_field_name": relative_weight_value (positive #'s),
          ...
        }
      },
      "functions": (optional) [
        {
          "type": "magnitude | freshness | distance | tag",
          "boost": # (positive number used as multiplier for raw score != 1),
          "fieldName": "...",
          "interpolation": "constant | linear (default) | quadratic | logarithmic",
          "magnitude": {
            "boostingRangeStart": #,
            "boostingRangeEnd": #,
            "constantBoostBeyondRange": true | false (default)
          },
          "freshness": {
            "boostingDuration": "..." (value representing timespan leading to now over which boosting occurs)
          },
          "distance": {
            "referencePointParameter": "...", (parameter to be passed in queries to use as reference location)
            "boostingDistance": # (the distance in kilometers from the reference location where the boosting range ends)
          },
          "tag": {
            "tagsParameter": "..." (parameter to be passed in queries to specify a list of tags to compare against target fields)
          }
        }
      ],
      "functionAggregation": (optional, applies only when functions are specified) 
        "sum (default) | average | minimum | maximum | firstMatching"
    }
  ],
  "analyzers":(optional)[ ... ],
  "charFilters":(optional)[ ... ],
  "tokenizers":(optional)[ ... ],
  "tokenFilters":(optional)[ ... ],
  "defaultScoringProfile": (optional) "...",
  "corsOptions": (optional) {
    "allowedOrigins": ["*"] | ["origin_1", "origin_2", ...],
    "maxAgeInSeconds": (optional) max_age_in_seconds (non-negative integer)
  },
  "encryptionKey":(optional){
    "keyVaultUri": "azure_key_vault_uri",
    "keyVaultKeyName": "name_of_azure_key_vault_key",
    "keyVaultKeyVersion": "version_of_azure_key_vault_key",
    "accessCredentials":(optional){
      "applicationId": "azure_active_directory_application_id",
      "applicationSecret": "azure_active_directory_application_authentication_key"
    }
  }
}

Alanlar koleksiyonu ve alan öznitelikleriFields collection and field attributes

Şemanızı tanımlarken, dizininizdeki her bir alan için ad, tür ve öznitelikler belirtmeniz gerekir.As you define your schema, you must specify the name, type, and attributes of each field in your index. Alan türü, bu alanda depolanan verileri sınıflandırır.The field type classifies the data that is stored in that field. Öznitelikler, alanın nasıl kullanıldığını belirtmek için tek tek alanlarda ayarlanır.Attributes are set on individual fields to specify how the field is used. Aşağıdaki tablolar belirtebileceğiniz türleri ve öznitelikleri numaralandırır.The following tables enumerate the types and attributes you can specify.

Veri türleriData types

TürType AçıklamaDescription
Edm.StringEdm.String İsteğe bağlı olarak tam metin araması için simgeleştirilmiş olabilecek metin (sözcük ayırma, sözcük kökü oluşturma vb.).Text that can optionally be tokenized for full-text search (word-breaking, stemming, and so forth).
Collection(Edm.String)Collection(Edm.String) Tam metin araması için isteğe bağlı olarak belirteç haline getirilebilen dize listesi.A list of strings that can optionally be tokenized for full-text search. Bir koleksiyondaki öğelerin sayısında teorik bir üst sınır yoktur ancak yük boyutundaki 16 MB'lık üst sınır, koleksiyonlar için geçerlidir.There is no theoretical upper limit on the number of items in a collection, but the 16 MB upper limit on payload size applies to collections.
Edm.BooleanEdm.Boolean True/false değerlerini içerir.Contains true/false values.
Edm.Int32Edm.Int32 32 bit tamsayı değerleri.32-bit integer values.
Edm.Int64Edm.Int64 64 bit tamsayı değerleri.64-bit integer values.
Edm.DoubleEdm.Double Çift duyarlıklı sayısal veriler.Double-precision numeric data.
Edm.DateTimeOffsetEdm.DateTimeOffset OData v4 biçiminde temsil edilen tarih saat değerleri (örneğin, yyyy-MM-ddTHH:mm:ss.fffZ veya yyyy-MM-ddTHH:mm:ss.fff[+/-]HH:mm).Date time values represented in the OData V4 format (for example, yyyy-MM-ddTHH:mm:ss.fffZ or yyyy-MM-ddTHH:mm:ss.fff[+/-]HH:mm).
Edm.GeographyPointEdm.GeographyPoint Dünya üzerindeki bir coğrafi konumu temsil eden bir nokta.A point representing a geographic location on the globe.

Azure Bilişsel Arama tarafından desteklenen veri türlerihakkında daha ayrıntılı bilgi edinmek için burada bulabilirsiniz.You can find more detailed information about Azure Cognitive Search's supported data types here.

Dizin öznitelikleriIndex attributes

Dizininizdeki tek bir alan, her belgeyi benzersiz bir şekilde tanımlayan anahtar alanı olarak belirlenmiş olmalıdır.Exactly one field in your index must be the designated as a key field that uniquely identifies each document.

Diğer öznitelikler, bir alanın uygulamada nasıl kullanıldığını belirleme.Other attributes determine how a field is used in an application. Örneğin, aranabilir özniteliği tam metin aramasına dahil edilecek her alana atanır.For example, the searchable attribute is assigned to every field that should be included in a full text search.

Bir dizin oluşturmak için kullandığınız API 'Ler, farklı varsayılan davranışlara sahiptir.The APIs you use to build an index have varying default behaviors. REST API 'leriiçin çoğu öznitelik varsayılan olarak etkindir (örneğin, aranabilir ve alınabilir , dize alanları için geçerlidir) ve genellikle bunları kapatmak istiyorsanız ayarlamanız gerekir.For the REST APIs, most attributes are enabled by default (for example, searchable and retrievable are true for string fields) and you often only need to set them if you want to turn them off. .NET SDK için, tersi doğrudur.For the .NET SDK, the opposite is true. Açıkça ayarlamadığınız herhangi bir özellikte, özel olarak etkinleştirmediğiniz takdirde, karşılık gelen arama davranışının devre dışı bırakılması varsayılan olur.On any property you do not explicitly set, the default is to disable the corresponding search behavior unless you specifically enable it.

ÖznitelikAttribute AçıklamaDescription
key Her bir belgenin belge araması için kullanılan benzersiz kimliğini sağlayan bir dize.A string that provides the unique ID of each document, used for document lookup. Tüm dizinlerin bir anahtarı olması gerekir.Every index must have one key. Yalnızca bir alan anahtar olabilir ve bunun türü Edm.String olarak ayarlanmalıdır.Only one field can be the key, and its type must be set to Edm.String.
retrievable Bir arama sonucunda bir alanın döndürülüp döndürülemeyeceğini belirtir.Specifies whether a field can be returned in a search result.
filterable Alanın filtre sorgularında kullanılmasını sağlar.Allows the field to be used in filter queries.
Sortable Bu alanı kullanarak bir sorgunun arama sonuçlarını sıralamasını sağlar.Allows a query to sort search results using this field.
facetable Kullanıcının bağımsız filtrelemesi için modellenmiş bir gezinmede bir alanın kullanılmasını sağlar.Allows a field to be used in a faceted navigation structure for user self-directed filtering. Genellikle birden çok belgeyi bir araya gruplamak için kullanabileceğiniz yinelemeli değerler içeren alanlar (örneğin, tek bir marka veya hizmet kategorisine denk gelen birden çok belge) model olarak en iyi şekilde işler.Typically fields containing repetitive values that you can use to group multiple documents together (for example, multiple documents that fall under a single brand or service category) work best as facets.
searchable Alanı tam metin aranabilir şeklinde işaretler.Marks the field as full-text searchable.

Depolama etkileriStorage implications

Seçtiğiniz özniteliklerin depolama üzerinde bir etkisi vardır.The attributes you select have an impact on storage. Aşağıdaki ekran görüntüsünde, çeşitli öznitelik birleşimlerinden kaynaklanan dizin depolama desenleri gösterilmektedir.The following screenshot illustrates index storage patterns resulting from various combinations of attributes.

Dizin, portalda dizin oluşturup sorgulayabilmeniz için yerleşik gerçek emlak örnek veri kaynağını temel alır.The index is based on the built-in real estate sample data source, which you can index and query in the portal. Dizin şemaları gösterilmese de, dizin adına göre öznitelikleri çıkarsyükleyebilirsiniz.Although the index schemas are not shown, you can infer the attributes based on the index name. Örneğin, reatastate ile aranabilir Dizin, aranabilir bir özniteliğe sahiptir ve başka hiçbir şey yoktur, reatastate-alınabilir Dizin, alınabilir özniteliğe ve başka hiçbir şey ve bu şekilde devam eder.For example, realestate-searchable index has the searchable attribute selected and nothing else, realestate-retrievable index has the retrievable attribute selected and nothing else, and so forth.

Öznitelik seçimine dayalı Dizin boyutuIndex size based on attribute selection

Bu dizin çeşitleri yapay olsa da, özniteliklerin depolamayı nasıl etkilediği hakkında geniş karşılaştırmalar için bunlara başvurabiliyoruz.Although these index variants are artificial, we can refer to them for broad comparisons of how attributes affect storage. , Alınabilir artış dizini boyutu ayarı yapılsın mı?Does setting retrievable increase index size? Hayır.No. Öneri aracı bir dizin boyutunu artırmak için alan eklemeDoes adding fields to a Suggester increase index size? Evet.Yes.

Filtre ve sıralamayı destekleyen dizinler, tam metin aramasını destekleyen dizinlerden nispeten daha büyüktür.Indexes that support filter and sort are proportionally larger than indexes that support just full text search. Bunun nedeni, filtre ve sıralama sorgusunun tam eşleştirmelerle, belgelerin bozulmadan depolanmasıdır.The reason is that filter and sort query on exact matches so documents are stored intact. Buna karşılık, tam metin ve belirsiz aramayı destekleyen aranabilir alanlar, tüm belgelerden daha az alan tüketen simgeleştirilmiş koşullarla doldurulmuş ters dizinler kullanır.In contrast, searchable fields supporting full-text and fuzzy search use inverted indexes, which are populated with tokenized terms that consume less space than whole documents.

Not

Depolama mimarisi Azure Bilişsel Arama uygulama ayrıntısı olarak değerlendirilir ve bildirimde bulunulmadan değiştirilebilir.Storage architecture is considered an implementation detail of Azure Cognitive Search and could change without notice. Geçerli davranışın gelecekte devam edeceğini garanti vermez.There is no guarantee that current behavior will persist in the future.

Öneri AraçlarıSuggesters

Bir öneri aracı, aramalardaki otomatik tamamlamayı veya tür ön sorguları desteklemek için bir dizindeki hangi alanların kullanıldığını tanımlayan şemanın bir bölümüdür.A suggester is a section of the schema that defines which fields in an index are used to support auto-complete or type-ahead queries in searches. Genellikle kısmi arama dizeleri, Kullanıcı bir arama sorgusu yazarken (REST API) önerilere GÖNDERILIR ve API önerilen bir tümcecik kümesi döndürür.Typically, partial search strings are sent to the Suggestions (REST API) while the user is typing a search query, and the API returns a set of suggested phrases.

Bir öneri aracı eklenen alanlar, tür öncelikli arama terimleri oluşturmak için kullanılır.Fields added to a suggester are used to build type-ahead search terms. Tüm arama terimleri dizin oluşturma sırasında oluşturulur ve ayrı olarak depolanır.All of the search terms are created during indexing and stored separately. Öneri aracı yapısı oluşturma hakkında daha fazla bilgi için bkz. Add öneri araçları.For more information about creating a suggester structure, see Add suggesters.

Puanlama modelleriScoring profiles

Puanlama profili , arama sonuçlarında hangi öğelerin göründüğünü etkileyen özel Puanlama davranışlarını tanımlayan şemanın bir bölümüdür.A scoring profile is a section of the schema that defines custom scoring behaviors that let you influence which items appear higher in the search results. Puanlama profilleri alan ağırlıklarının ve işlevlerden oluşur.Scoring profiles are made up of field weights and functions. Bunları kullanmak için sorgu dizesinde ada göre bir profil belirtirsiniz.To use them, you specify a profile by name on the query string.

Varsayılan bir Puanlama profili, bir sonuç kümesindeki her öğe için bir arama puanı hesaplamak üzere arka planda çalışır.A default scoring profile operates behind the scenes to compute a search score for every item in a result set. Dahili, adlandırılmamış Puanlama profilini kullanabilirsiniz.You can use the internal, unnamed scoring profile. Alternatif olarak, sorgu dizesinde özel bir profil belirtilmediğinde çağrılan varsayılan olarak özel bir profil kullanmak için defaultScoringProfile ayarlayın.Alternatively, set defaultScoringProfile to use a custom profile as the default, invoked whenever a custom profile is not specified on the query string.

ÇözümleyicilerAnalyzers

Çözümleyiciler öğesi, alan için kullanılacak dil Çözümleyicisi adını ayarlar.The analyzers element sets the name of the language analyzer to use for the field. Kullanabileceğiniz çözümleyiciler aralığı hakkında daha fazla bilgi için bkz. Azure bilişsel arama dizinine çözümleyiciler ekleme.For more information about the range of analyzers available to you, see Adding analyzers to an Azure Cognitive Search index. Çözümleyiciler yalnızca aranabilir alanlarla kullanılabilir.Analyzers can only be used with searchable fields. Çözümleyici bir alana atandıktan sonra, dizini yeniden oluşturmadığınız takdirde değiştirilemez.Once the analyzer is assigned to a field, it cannot be changed unless you rebuild the index.

CORSCORS

Tarayıcı tüm çapraz kaynak isteklerini önleyediğinden, istemci tarafı JavaScript varsayılan olarak herhangi bir API 'yi çağıramaz.Client-side JavaScript cannot call any APIs by default since the browser will prevent all cross-origin requests. Dizininizdeki çapraz kaynak sorgularına izin vermek için Corsoptions ÖZNITELIĞINI ayarlayarak CORS 'yi etkinleştirin (çıkış noktaları arası kaynak paylaşımı).To allow cross-origin queries to your index, enable CORS (Cross-Origin Resource Sharing) by setting the corsOptions attribute. Güvenlik nedenleriyle, yalnızca sorgu API 'Leri CORS 'yi destekler.For security reasons, only query APIs support CORS.

CORS için aşağıdaki seçenekler ayarlanabilir:The following options can be set for CORS:

  • allowederlerin (gerekli): Bu, dizininiz için erişim verilecek olan kaynakları içeren bir listesidir.allowedOrigins (required): This is a list of origins that will be granted access to your index. Bu, bu kaynaklardan sunulan tüm JavaScript kodunun dizininizi sorgulayabileceği anlamına gelir (doğru api anahtarını sağladığını varsayarak).This means that any JavaScript code served from those origins will be allowed to query your index (assuming it provides the correct api-key). Her kaynak genellikle protocol://<fully-qualified-domain-name>:<port>, ancak <port> genellikle atlanamaz.Each origin is typically of the form protocol://<fully-qualified-domain-name>:<port> although <port> is often omitted. Daha fazla ayrıntı için bkz. çıkış noktaları arası kaynak paylaşımı (Vikipedi) .See Cross-origin resource sharing (Wikipedia) for more details.

    Tüm kaynaklardan erişime izin vermek istiyorsanız, * allowedgıas dizisinde tek bir öğe olarak ekleyin.If you want to allow access to all origins, include * as a single item in the allowedOrigins array. Bu, üretim arama hizmetleri için önerilen bir uygulamadır, ancak geliştirme ve hata ayıklama için genellikle yararlıdır.This is not recommended practice for production search services but it is often useful for development and debugging.

  • Maxageınseconds (isteğe bağlı): TARAYıCıLAR, CORS ön denetim yanıtlarını önbelleğe almak için süreyi (saniye cinsinden) belirlemede bu değeri kullanır.maxAgeInSeconds (optional): Browsers use this value to determine the duration (in seconds) to cache CORS preflight responses. Bu negatif olmayan bir tamsayı olmalıdır.This must be a non-negative integer. Bu değer arttıkça, daha iyi performans olacaktır, ancak CORS ilke değişikliklerinin etkili olması için daha uzun sürer.The larger this value is, the better performance will be, but the longer it will take for CORS policy changes to take effect. Ayarlanmamışsa, varsayılan 5 dakikalık bir süre kullanılacaktır.If it is not set, a default duration of 5 minutes will be used.

Şifreleme anahtarıEncryption Key

Tüm Azure Bilişsel Arama dizinleri Microsoft tarafından yönetilen anahtarlar kullanılarak varsayılan olarak şifrelense de, dizinler Key Vault müşteri tarafından yönetilen anahtarlarla şifrelenecek şekilde yapılandırılabilir.While all Azure Cognitive Search indexes are encrypted by default using Microsoft managed keys, indexes can be configured to be encrypted with customer managed keys in Key Vault. Daha fazla bilgi için bkz. Azure 'da şifreleme anahtarlarını yönetme bilişsel arama.To learn more, see Manage encryption keys in Azure Cognitive Search.

Sonraki adımlarNext steps

Dizin kompozisyonunun anlaşılmasından sonra, ilk dizininizi oluşturmak için portalda devam edebilirsiniz.With an understanding of index composition, you can continue in the portal to create your first index.