Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
RAG deseni veya vektörleştirme için içerik öbeklediyseniz, kaynak içeriğin (bir) bir veya daha fazla dizine (çok) yansıtıldığı bire çok dizin oluşturmayı denetlemek için bir dizin projeksiyonu belirtebilirsiniz. Dizin projeksiyonunun amacı, dosya adı veya oluşturma tarihi gibi üst belge öğelerinin olup olmadığını denetlemektir:
- Her bir alt öğe (öbek) için, tek bir dizinde tekrarla
- Aynı dizinde tek başına arama belgeleri olarak dizinlenir
- Ya da, ayrı dizinlere işlenir.
Farklı belge yapılarının veya içeriği iki dizine bölmenin özellikle dizinlerde birleştirme desteklenmediği klasik aramalarda sorgulamanın zor olabileceği için ana alanları tek bir dizinde yinelemenizi öneririz.
Azure Yapay Zeka Arama'te, parçalara ayırma işlemi beceriler tarafından yapılır ve bu nedenle dizin oluşturuculara bağlıdır. Dizin projeksiyonu tanımlamak için bunu bir beceri kümesinde belirtin.
Önkoşullar
Azure Yapay Zeka Arama, herhangi bir katman veya bölge.
Öbeklemesini istediğiniz içeriğe sahip desteklenen bir veri kaynağı .
Dizin oluşturucu işlem hattının çıkışını kabul eden bir dizin (bir veya daha fazla).
İçeriği parçalayan bir beceri, örneğin Metin Bölme becerisi.
Beceri kümesi, bire çok dizin oluşturma için verilere biçim veren dizinleyici projeksiyonunu içerir. Bir beceri kümesinin, senaryonuz tümleşik vektörleştirme içeriyorsa AzureOpenAIEmbedding gibi ekleme becerileri gibi başka becerileri de olabilir.
Bir yaklaşım seçin
Dizin projeksiyonları, her "üst" belge için "alt" belgeler (öbekler) oluşturur. Üst içeriğin nasıl işleneceğini seçin:
| Yaklaşım | Açıklama | Yapılandırma |
|---|---|---|
| Tek dizin, yinelenen ana alanlar (önerilen) | Ana alanlar her öbek için yinelenir. Tüm belgelerin tekdüzen bir şekli vardır. | Hem dizin oluşturucu targetIndexName hem de dizin projeksiyonunu targetIndexName aynı dizine ayarlayın.
projectionMode değerini skipIndexingParentDocuments olarak ayarlayın. |
| Tekil dizin, karma belge türleri | Üst belgeler ve parçacık belgeleri birlikte bulunur. Üst belgelerde null öbek alanları vardır. | Her iki değeri de targetIndexName aynı dizine ayarlayın.
projectionMode'yi includeIndexingParentDocuments olarak ayarlayın (veya bu varsayılan ayar olduğundan atlayabilirsiniz). |
| İki veya daha fazla ayrı dizin | Arama için üst dizin, meta veri sorgulamaları için alt dizin. Sorgu zamanı birleştirmesi yok. | Dizin oluşturucuyu targetIndexName üst dizin olarak ayarlayın. Dizin yansıtmasını targetIndexName çocuk dizine ayarlayın. Dizi, selectors alt indeksin miktarını ve bileşimini belirler. |
Çoğu RAG senaryosu için ilk yaklaşımı kullanın. Bkz. klasik RAG örneği.
Önerilen yaklaşım için uygulama adımları
- Ebeveyn alanları içeren öbekler için tasarlanmış bir dizin oluşturun.
- Bir öbekleme becerisi ve
indexProjectionsiçeren bir beceri kümesi oluşturun. - Desteklenen veri kaynağınıza işaret eden bir dizin oluşturucu oluşturun.
Veri kaynağınız değişiklik izlemeyi destekliyorsa, dizin oluşturucu değişiklikleri otomatik olarak eşitler.
Birden çoğa dizin oluşturma için dizin oluşturun
İster üst değerleri yineleyen öbekler için bir dizin, ister üst-alt alan yerleşimi için ayrı dizinler oluşturun, arama için kullanılan birincil dizin veri öbekleri etrafında tasarlanmıştır. Dizin şeması aşağıdaki alanlara sahip olmalıdır:
Her belgeyi benzersiz olarak tanımlayan bir belge anahtarı alanı.
Edm.Stringtürü,keywordçözümleyici ile tanımlanmalıdır.Her öbeği üst öğesiyle ilişkilendiren bir alan. türünde
Edm.Stringolmalıdır. Belge anahtarı alanı olamaz vefilterable'in true olarak ayarlanmış olması gerekir. Örneklerde parent_id ve bu makalede öngörülen anahtar değeri olarak adlandırılır.İçerik için metin veya vektörleştirilmiş öbek alanları gibi diğer alanlar.
Beceri kümesini oluşturmadan veya dizin oluşturucuyu çalıştırmadan önce arama hizmetinde bir dizin bulunmalıdır.
selectors Beceri kümesinde tanımladığınız bu alanları içermelidir.
Ana ve alt alanları kapsayan tek dizin şeması
Her öbek için ebeveyn içeriğin tekrarlandığı öbekler etrafında tasarlanan tek bir dizin, RAG ve vektör arama senaryoları için baskın bir desendir. Her öbekle doğru üst içeriği ilişkilendirme özelliği dizin projeksiyonları aracılığıyla etkinleştirilir.
Aşağıdaki şema, dizin projeksiyonları gereksinimlerini karşılayan bir örnektir. Bu örnekte:
- Üst alanlar parent_id ve başlıklardır ve her öbek için yinelenirler
- Alt alanlar vektör ve non-vektör öbekleridir. chunk_id bu dizinin belge kimliğidir.
Azure portalını, REST API'lerini veya Azure SDK kullanarak dizin oluşturabilirsiniz.
Dizini oluşturmak için REST istemcisi veya Azure portal D index eylemi ve JSON seçeneğini kullanın.
{
"name": "my_consolidated_index",
"fields": [
{"name": "chunk_id", "type": "Edm.String", "key": true, "filterable": true, "analyzer": "keyword"},
{"name": "parent_id", "type": "Edm.String", "filterable": true},
{"name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true},
{"name": "chunk", "type": "Edm.String","searchable": true,"retrievable": true},
{"name": "chunk_vector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "hnsw"}
],
"vectorSearch": {
"algorithms": [{"name": "hnsw", "kind": "hnsw", "hnswParameters": {}}],
"profiles": [{"name": "hnsw", "algorithm": "hnsw"}]
}
}
Beceri kümesine dizin projeksiyonları ekleme
Dizin projeksiyonları bir beceri kümesi tanımı içinde tanımlanır ve öncelikle her seçicinin selectorsarama hizmetindeki farklı bir hedef dizine karşılık geldiği dizisi olarak tanımlanır. Bu bölüm söz dizimi ve bağlam örnekleri ve ardından parametre başvurusu ile başlar.
Dizin projeksiyonları genel olarak kullanılabilir. En son kararlı API'yi öneririz:
Aşağıda, Metin Bölme yeteneği tarafından tek tek sayfaların çıkışını arama dizininde bağımsız belgeler olarak yansıtmak için kullanabileceğiniz bir indeks projeksiyonu tanımının örnek bir yükü verilmiştir.
Ana belge, metadata_group_ids, metadata_spo_site_url veya metadata_user_ids gibi belge düzeyinde erişime yönelik izin meta verileri içeriyorsa, bu alanları mappings içine ekleyin. Sorgu zamanı izin filtrelerinin uygulanması için her öbek bunları devralmalıdır. Daha fazla bilgi için bkz. ACL alanlarının doldurulacağı yeri seçme (önizleme).
"indexProjections": {
"selectors": [
{
"targetIndexName": "my_consolidated_index",
"parentKeyFieldName": "parent_id",
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "chunk",
"source": "/document/pages/*",
"sourceContext": null,
"inputs": []
},
{
"name": "chunk_vector",
"source": "/document/pages/*/chunk_vector",
"sourceContext": null,
"inputs": []
},
{
"name": "title",
"source": "/document/title",
"sourceContext": null,
"inputs": []
}
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
Parametre başvurusu
| Dizin projeksiyon parametreleri | Tanımı |
|---|---|
selectors |
Genellikle öbekler temelinde tasarlanan dizin olan ana arama corpus'u için parametrelere sahip bir dizi. Birden çok seçici belirterek birden çok alt dizine içerik gönderebilirsiniz. Dizin oluşturucuyu çalıştırmadan önce arama hizmetinde dizin şemaları bulunmalıdır. |
parameters |
Dizin projeksiyona özgü yapılandırma özelliklerinin parametre sözlüğü. |
Parametreler, tanımlarının bir parçası olarak aşağıdaki öğelere sahiptir.
| Parametreler | Tanımı |
|---|---|
parameters.projectionMode |
Dizin oluşturucuya yönergeler sağlayan isteğe bağlı bir parametre. Geçerli değerler includeIndexingParentDocuments ve skipIndexingParentDocuments'i içerir. Bu parametre için en iyi değerdir skipIndexingParentDocuments. Öbeklenmiş belgeler birincil arama hedefi olduğunda bunu kullanmalısınız. Ayarlamazsanız skipIndexingParentDocuments için projectionMode, varsayılan olduğu için includeIndexingParentDocuments otomatik olarak alırsınız. Dizininize öbekler için null olan ancak üst öğeye özgü içerikle doldurulmuş ek arama belgeleri ekler. Örneğin, beş PDF dizine 100 öbek katkıda bulunursa, dizindeki belge sayısı 105'tir. Üst alanlar için oluşturulan beş belge öbek (alt) alanları için null değere sahiptir ve bu da bunları dizindeki belgelerin toplu halinden önemli ölçüde farklı hale getirir. Bu nedenle, projectionMode 'i skipIndexingParentDocuments olarak ayarlamanızı öneririz. |
Seçiciler tanımlarının bir parçası olarak aşağıdaki öğelere sahiptir.
| Seçiciler | Tanımı |
|---|---|
selectors.targetIndexName |
İndeks verilerinin yansıtıldığı indeksin adı. Birincisi, yinelenen üst alanlara sahip tek parça bir dizindir; ya da üst-alt içerik için ayrı dizinler kullanıyorsanız, bu bir alt dizindir. |
selectors.parentKeyFieldName |
Üst belgenin anahtarını sağlayan alanın adı. |
selectors.sourceContext |
Verileri tek tek arama belgelerine eşlemek için detay seviyesini belirleyen zenginleştirme etiketi. Daha fazla bilgi için bakınız Beceri bağlamı ve giriş ek açıklaması dili. |
selectors.mappings |
Zenginleştirilmiş verilerin arama dizinindeki alanlarla eşleme dizisi. Her eşleme şunlardan oluşur: name: Arama dizinindeki verilerin dizine alınması gereken alanın adı. source: Verilerin alınacağı zenginleştirme açıklama yolu. Her mapping isteğe bağlı sourceContext ve inputs alanla, bilgi deposuna veya Şekillendirici Becerisine benzer şekilde, özyinelemeli olarak veri tanımlayabilir. Uygulamanıza bağlı olarak, bu parametreler verileri arama dizininde türündeki Edm.ComplexType alanlara şekillendirmenize olanak sağlar. Bazı LLM'ler arama sonuçlarında karmaşık bir türü kabul etmediğinden, kullandığınız LLM karmaşık tür eşlemesinin yararlı olup olmadığını belirler. |
mappings parametresi önemlidir. Belge anahtarı ve üst kimlik gibi kimlik alanları dışında, alt endeksteki her alanı açıkça belirtmeniz gerekir.
Bu gereksinim, Azure Yapay Zeka Arama'daki diğer alan eşleme kurallarıyla karşıttır. Bazı veri kaynağı türleri için, dizin oluşturucu alanları benzer adlara veya bilinen özelliklere göre örtük olarak eşleyebilir (örneğin, blob dizin oluşturucuları varsayılan belge anahtarı olarak benzersiz meta veri depolama yolunu kullanır). Ancak, dizinleyici projeksiyonları için ilişkinin "çok" tarafındaki her alan eşlemesini açıkça belirtmeniz gerekir.
Önemli
Üst anahtar alanı için alan eşlemesi oluşturmayın. Bunun yapılması, değişiklik izlemeyi ve eşitlenmiş veri yenilemeyi kesintiye uğratır.
Alan eşlemelerini gözden geçirme
Dizin oluşturucular üç farklı tür alan eşlemesiyle ilişkilidir. Dizin oluşturucuyu çalıştırmadan önce alan eşlemelerinizi denetleyin ve her türün ne zaman kullanılacağını bilin.
Alan eşlemeleri bir dizin oluşturucuda tanımlanır ve kaynak alanı dizin alanıyla eşlemek için kullanılır. Alan eşlemeleri, verileri kaynaktan kaldıran ve dizin oluşturma için geçiren veri yolları için kullanılır ve ara beceri işleme adımı yoktur. Dizin oluşturucu genellikle aynı ada ve türe sahip alanları otomatik olarak eşleyebilir. Açık alan eşlemeleri yalnızca tutarsızlıklar olduğunda gereklidir. Bire çok dizin oluşturmada ve şimdiye kadar açıklanan desenlerde alan eşlemelerine ihtiyacınız olmayabilir.
Çıktı alanı eşlemeleri bir dizin oluşturucuda tanımlanır ve beceri kümesi tarafından oluşturulan zenginleştirilmiş içeriği bir alanla ana dizine eşlemek için kullanılır. Öbekler, bir beceri tarafından oluşturma (Metin Bölme) nedeniyle zenginleştirilmiş içerik olarak kabul edilir, ancak öbekler veya seçici eşlemesi tarafından tanımlanan dizin projeksiyonları için çıkış alanı eşlemesine ihtiyacınız yoktur.
Selectors.mappings bir beceri kümesinde tanımlanır ve alt dizindeki alanlarla eşlenir. Alt dizinin üst alanları da içerdiği durumlarda ( birleştirilmiş dizin çözümünde olduğu gibi), başlığın öbeklenmiş her belgede gösterilmesini istediğinizi varsayarak, üst düzey başlık alanı da dahil olmak üzere içeriği olan her alan için alan eşlemeleri ayarlamanız gerekir. Ayrı ebeveyn ve çocuk dizinler kullanıyorsanız, seçicinin yalnızca çocuk düzeyindeki alanlar için alan eşlemeleri olmalıdır.
Not
Hem çıktı alanı eşlemeleri hem de seçici eşlemeleri zenginleştirilmiş belge ağacı düğümlerini kaynak giriş olarak kabul eder. Veri yolunu ayarlamak için her düğümün yolunun nasıl belirtileceğini bilmek önemlidir. Yol söz dizimi hakkında daha fazla bilgi edinmek için zenginleştirilmiş düğümlere başvurulmasına ve beceri kümesi tanımına bakın.
Dizin oluşturucuyu çalıştırma
Bir veri kaynağı, dizinler ve beceri kümesi oluşturduktan sonra dizin oluşturucuyu oluşturmaya ve çalıştırmaya hazır olursunuz. Bu adım işlem hattını çalıştırmaya geçirir.
çözümünüzü test etmek için işlem tamamlandıktan sonra arama dizininizi sorgulayabilirsiniz.
İçerik yaşam döngüsü
Temel alınan veri kaynağına bağlı olarak, dizin oluşturucu genellikle sürekli değişiklik izleme ve silme algılaması sağlayabilir. Bu bölümde, veri yenilemeyle ilgili olarak bire çok dizin oluşturmanın içerik yaşam döngüsü açıklanmaktadır.
Değişiklik izleme ve silme algılaması sağlayan veri kaynakları için, dizin oluşturucu işlemi kaynak verilerinizdeki değişiklikleri alabilir. Dizin oluşturucuyu ve beceri kümesini her çalıştırdığınızda, beceri kümesi veya temel alınan kaynak veriler değiştiyse dizin projeksiyonları güncelleştirilir. Dizinleyici tarafından alınan tüm değişiklikler, zenginleştirme işlemi aracılığıyla dizindeki projeksiyonlara yayılır ve yansıtılan verilerinizin kaynak veri kaynağındaki içeriğin güncel bir yansıması olduğundan emin olur. Veri yenileme etkinliği, her öbek için öngörülen anahtar değerinde yakalanır. Temel alınan veriler değiştiğinde bu değer güncelleştirilir.
Not
Dizin gönderme API'sini kullanarak yansıtılan belgelerdeki verileri el ile düzenleyebilirsiniz ancak bunu yapmaktan kaçınmalısınız. Belgenin kaynak verilerde güncellendiği ve veri kaynağında değişiklik izleme veya silme algılama özelliğinin etkinleştirildiği varsayılırsa, bir sonraki işlem hattı çağrısında dizine manuel olarak yapılan güncellemeler geçersiz kılınır.
Güncelleştirilmiş içerik
Veri kaynağınıza yeni içerik eklerseniz, sonraki dizin oluşturucu çalıştırmasının dizinine yeni öbekler veya alt belgeler eklenir.
Veri kaynağındaki mevcut içeriği değiştirirseniz, kullandığınız veri kaynağı değişiklik izleme ve silme algılamayı destekliyorsa öbekler arama dizininde artımlı olarak güncelleştirilir. Örneğin, belgede bir sözcük veya tümce değişirse, hedef dizinde söz konusu sözcük veya tümceyi içeren öbek sonraki dizin oluşturucu çalıştırmasında güncelleştirilir. Alan türünü ve bazı atıfları değiştirme gibi diğer güncelleştirme türleri mevcut alanlar için desteklenmez. İzin verilen güncelleştirmeler hakkında daha fazla bilgi için bkz. Dizin şemasını güncelleştirme.
Azure Depolama gibi bazı veri kaynakları, zaman damgasına göre değişiklik ve silme izlemeyi varsayılan olarak destekler. Değişiklik izleme için Microsoft OneLake, Azure SQL veya Azure Cosmos DB gibi diğer veri kaynakları yapılandırılmalıdır.
Silinen içerik
Kaynak içerik artık yoksa (örneğin, metin daha az öbek olacak şekilde kısaltılmışsa), arama dizinindeki ilgili alt belge silinir. Geriye kalan alt belgeler, içeriği başka bir şekilde değişmese bile anahtarları yeni bir karma değeri içerecek şekilde güncelleştirilir.
Bir üst belge veri kaynağından tamamen silinirse, ilgili alt belgeler yalnızca silme işlemi veri kaynağı tanımında tanımlanan bir dataDeletionDetectionPolicy tarafından algılanırsa silinir. Yapılandırılmış bir dataDeletionDetectionPolicy belgeniz yoksa ve veri kaynağından bir üst belgeyi silmeniz gerekiyorsa, artık istenmiyorsa alt belgeleri el ile silmeniz gerekir.
Öngörülen anahtar değeri
Güncelleştirilmiş ve silinmiş içerikte veri bütünlüğünü sağlamak için, bire çok dizin oluşturmada veri yenileme işlemi "çok" tarafındaki öngörülen anahtar değerine dayanır. Tümleşik vektörleştirme veya Verileri içeri aktarma sihirbazı kullanıyorsanız, öngörülen anahtar değeri parent_id dizinin öbeklenmiş veya "çok" tarafındaki alandır.
Yansıtılan anahtar değeri, dizin oluşturucunun her belge için oluşturduğu benzersiz bir tanımlayıcıdır. Benzersizlik sağlar ve değişiklik ve silme izlemenin düzgün çalışmasını sağlar. Bu anahtar aşağıdaki kesimleri içerir:
- Benzersizliği garanti etmek için rastgele karma. Ana belge sonraki indeksleyici çalıştırıldığında güncellendiyse bu karma değişir.
- Ana belgenin anahtarı.
- Oluşturulan belgenin bağlamını tanımlayan zenginleştirme açıklama yolu.
Örneğin, anahtar değeri "aa1b22c33" olan bir üst belgeyi dört sayfaya bölerseniz ve bu sayfaların her biri dizin projeksiyonları aracılığıyla kendi belgesi olarak yansıtılırsa:
- aa1b22c33
- aa1b22c33_pages_0
- aa1b22c33_pages_1
- aa1b22c33_pages_2
Üst belge kaynak verilerde güncelleştirilirse ve bu da daha fazla öbeklenmiş sayfaya neden olursa, rastgele karma değişir, daha fazla sayfa eklenir ve her öbek içeriği kaynak belgedekiyle eşleşecek şekilde güncelleştirilir.
Ayrı ebeveyn-çocuk dizinleri örneği
Bu bölümde, ayrı ebeveyn ve çocuk dizinler için bir örnek verilmektedir. Bu yaygın olmayan bir desendir, ancak bu yaklaşım kullanılarak en iyi şekilde karşılanması gereken uygulama gereksinimleriniz olabilir. Bu senaryoda, ebeveyn-çocuk içeriğini iki ayrı dizine aktarıyorsunuz.
İki dizin şeması oluşturun.
Her şemada, arama sorgusunda kullanılmak üzere her iki dizinde de ortak olan üst kimlik alanıyla birlikte belirli bir dilim için alanlar bulunur. Birincil arama kümesi alt dizindir, ancak sonuçtaki her eşleşmenin ebeveyn alanlarını almak için bir arama sorgusu başlatabilirsiniz. Azure Yapay Zeka Arama sorgu zamanında birleştirmeleri desteklemediğinden uygulama kodunuzun veya düzenleme katmanınızın bir uygulamaya veya işleme geçirilebilen sonuçları birleştirmesi veya harmanlaması gerekir.
Üst dizinin parent_id alanı ve başlığı vardır. parent_id belge anahtarıdır. Alanları üst belge düzeyinde vektörleştirmek istemediğiniz sürece vektör arama yapılandırmasına ihtiyacınız yoktur.
{ "name": "my-parent-index", "fields": [ {"name": "parent_id", "type": "Edm.String", "key":true, "filterable": true}, {"name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true} ] }Çocuk dizin, parçalanmış alanların yanı sıra parent_id alanını da içerir. Tümleşik vektörleştirme, puanlama profilleri, anlam dereceleyici veya çözümleyiciler kullanıyorsanız bunları alt dizinde ayarlayabilirsiniz.
{ "name": "my-child-index", "fields": [ {"name": "chunk_id", "type": "Edm.String", "key": true, "filterable": true, "analyzer": "keyword"}, {"name": "parent_id", "type": "Edm.String", "filterable": true}, {"name": "chunk", "type": "Edm.String","searchable": true,"retrievable": true}, {"name": "chunk_vector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "hnsw"} ], "vectorSearch": { "algorithms": [{"name": "hsnw", "kind": "hnsw", "hnswParameters": {}}], "profiles": [{"name": "hsnw", "algorithm": "hnsw"}] }, "scoringProfiles": [], "semanticConfiguration": [], "analyzers": [] }Dizin oluşturucuyu hedef olarak üst dizini belirtmek üzere güncelleştirin.
Dizin oluşturucu tanımı, işlem hattının bileşenlerini belirtir. Indeksleyici tanımında, belirtilmesi gereken dizin adı üst dizindir. Üst düzey alanlar için alan eşlemelerine ihtiyacınız varsa, bunları outputFieldMappings içinde tanımlayın. Ayrı dizinler kullanan bire çok dizin oluşturma için dizin oluşturucu tanımı aşağıdaki örneğe benzer olabilir.
{ "name": "my-indexer", "dataSourceName": "my-ds", "targetIndexName": "my-parent-index", "skillsetName" : "my-skillset", "parameters": { }, "fieldMappings": (optional) Maps fields in the underlying data source to fields in an index, "outputFieldMappings" : (required) Maps skill outputs to fields in an index, }Beceri kümesine
indexProjectionsekleyin.Dizin oluşturucunun içeriği dizine almak için kullanması gereken veri yolunu belirten bir dizin projeksiyon tanımı örneği aşağıda verilmiştir. Dizin projeksiyon tanımında alt dizin adını ve her alt veya öbek düzeyindeki alanın eşlemelerini belirtir. Alt dizin adının belirtildiği tek yer burasıdır.
Dikkat edin ki
parametersnull ve varsayılanincludeIndexingParentDocumentsdeğerini kullanıyor. Dizin oluşturucu ana dizini doldurur.selectorsdizisi, parça belgelerini alt dizine yansıtmak için kullanılır."indexProjections": { "selectors": [ { "targetIndexName": "my-child-index", "parentKeyFieldName": "parent_id", "sourceContext": "/document/pages/*", "mappings": [ { "name": "chunk", "source": "/document/pages/*", "sourceContext": null, "inputs": [] }, { "name": "chunk_vector", "source": "/document/pages/*/chunk_vector", "sourceContext": null, "inputs": [] } ] } ], "parameters": {} }Dizin oluşturucuyu çalıştırın. Dizin oluşturucuyu daha önce çalıştırdıysanız, önce sıfırlamayı unutmayın.
Uygun içerikle doldurulmuş iki dizininiz olmalıdır. Her birinin doğru içeriğe sahip olduğunu doğrulamak için Arama Gezgini'nde dizinleri sorgulayın.
Sonraki adım
Veri öbekleme ve bire çok dizin oluşturma, Azure Yapay Zeka Arama klasik RAG deseninin bir parçasıdır. Bu konuda daha fazla bilgi edinmek için aşağıdaki öğreticiye ve kod örneğine geçin.