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.
Not
Bu özellik şu anda önizleme sürümündedir. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Önemli
Bu özellikler ve işlevler, diğer Microsoft hizmetleri ve üçüncü taraf hizmetlerle bağlantıları destekler. Bu hizmetlerin kullanımı ilgili koşullara tabidir ve Azure uyumluluk sınırının dışında veri işleme veya depolamanın yanı sıra Azure uyumluluk sınırına akan verilere neden olabilir.
Verilerinizin kuruluşunuzun uyumluluk ve coğrafi sınırları dışında akıp akmayacağını ve ilgili etkileri ve uygun izinlerin, sınırların ve onayların sağlanıp sağlanmayacağını yönetmek sizin sorumluluğunuzdadır.
Özel kullanım örnekleriniz bağlamında oluşturduğunuz uygulamaları dikkatle gözden geçirmek ve test etmek ve tüm uygun kararları ve özelleştirmeleri yapmak sizin sorumluluğunuzdadır. Bu, metapromptlar, içerik filtreleri veya diğer güvenlik sistemleri gibi sorumlu yapay zeka risk azaltmalarınızı uygulamayı ve uygulamalarınızın uygun kalite, güvenilirlik, güvenlik ve güvenilirlik standartlarını karşılamasını sağlamayı içerir. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama Saydamlık Notu.
Bu makalede, bir indexer yapılandırmasının MySQL için Azure Veritabanı'den içerik alarak Azure AI Arama'da aranabilir hale nasıl getirildiğini öğrenin. Dizin oluşturucuya girişler, tek bir tablo veya görünümdeki satırlardır. Çıkış, tek tek alanlarda aranabilir içeriğe sahip bir arama dizinidir.
Bu makale, MySQL için Azure Veritabanı Esnek Sunucu'ya özgü dizin oluşturma bilgileri ile Dizin Oluşturucu Yarat adlı makaleyi tamamlar. Rest API'lerini kullanarak tüm dizin oluşturucular için ortak olan üç parçalı bir iş akışını gösterir: veri kaynağı oluşturma, dizin oluşturma, dizin oluşturucu oluşturma. Dizin Oluşturucu Oluştur isteğini gönderdiğinizde veri ayıklama gerçekleşir.
Dizin oluşturucu, yüksek seviye işareti ve yumuşak silme içerecek şekilde yapılandırıldığında, MySQL veritabanınız için tüm değişiklikleri, yüklemeleri ve silmeleri yönetir. Bu değişiklikleri arama dizininize yansıtır. Dizin Oluşturucu Oluştur isteğini gönderdiğinizde veri ayıklama gerçekleşir.
Önkoşullar
Senaryo geri bildirimi sağlamak için önizlemeye kaydolun. Bu özelliğe form gönderildikten sonra otomatik olarak erişebilirsiniz.
MySQL için Azure Veritabanı Esnek Sunucu ve örnek veriler. Verilerin bir tabloda veya görünümde bulunması gerekir. Birincil anahtar gereklidir. Görünüm kullanıyorsanız, yüksek su işareti sütununa sahip olmalıdır.
Okuma izinleri. tam erişim bağlantı dizesi, içeriğe erişim veren bir anahtar içerir, ancak Azure rolleri kullanıyorsanız arama hizmeti yönetilen kimliğinin MySQL üzerinde Reader izinlerine sahip olduğundan emin olun.
Veri kaynağını, dizini ve dizin oluşturucuyu oluşturmak için bir REST istemcisi .
.NET için
Azure SDK de kullanabilirsiniz. dizin oluşturucu oluşturma için Azure portalını kullanamazsınız, ancak dizin oluşturucuları ve veri kaynaklarını oluşturulduktan sonra yönetebilirsiniz.
Önizleme sınırlamaları
Tarih veya zaman damgası tüm satırlar için tekdüzense, değişiklik izleme ve silme algılaması şu anda çalışmıyordur. Bu sınırlama, önizleme güncelleştirmesinde ele alınması gereken bilinen bir sorundur. Bu sorun giderilene kadar MySQL dizin oluşturucusna beceri kümesi eklemeyin.
Önizleme geometri türlerini ve blobları desteklemez.
Belirtildiği gibi, dizin oluşturucu oluşturma için portal desteği yoktur, ancak MySQL dizin oluşturucu ve veri kaynağı Azure portalda oluşturulduktan sonra yönetilebilir. Örneğin, tanımları düzenleyebilir ve dizin oluşturucuyu sıfırlayabilir, çalıştırabilir veya zamanlayabilirsiniz.
Veri kaynağını tanımlama
Veri kaynağı tanımı, verilerdeki değişiklikleri tanımlamak için dizine eklenecek verileri, kimlik bilgilerini ve ilkeleri belirtir. Veri kaynağı, birden çok dizin oluşturucu tarafından kullanılabilmesi için bağımsız bir kaynak olarak tanımlanır.
Veri Kaynağı Oluştur veya Güncelleştir tanımı belirtir. Veri kaynağını oluştururken önizleme REST API'sini kullandığınızdan emin olun.
{
"name" : "hotel-mysql-ds",
"description" : "[Description of MySQL data source]",
"type" : "mysql",
"credentials" : {
"connectionString" :
"Server=[MySQLServerName].MySQL.database.azure.com; Port=3306; Database=[DatabaseName]; Uid=[UserName]; Pwd=[Password]; SslMode=Preferred;"
},
"container" : {
"name" : "[TableName]"
},
"dataChangeDetectionPolicy" : {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "[HighWaterMarkColumn]"
}
}
Önemli noktalar:
typeöğesini"mysql"olarak ayarlayın (gerekli).credentials'yi ADO.NET bağlantı dizesi olarak ayarlayın. Bağlantı dizelerini Azure portalında, MySQL için Bağlantı dizeleri sayfasında bulabilirsiniz.containeröğesini tablonun adı olarak ayarlayın.Verilerin geçici olup olmadığını ve dizin oluşturucunun sonraki çalıştırmalarda yalnızca yeni ve güncelleştirilmiş öğeleri almasını isteyip istemediğinizi ayarlayın
dataChangeDetectionPolicy.Kaynak öğe silindiğinde arama belgelerini bir arama dizininden kaldırmak istiyorsanız ayarlayın
dataDeletionDetectionPolicy.
Not
Kapsayıcı adı özelliği için değer yalnızca harflere, sayılara, alt çizgilere (_), noktalara (.), tek tirelere (-) ve köşeli ayraçlara ([]) izin verecek şekilde kısıtlanır
Dizin oluşturma
Dizin Oluştur veya Güncelleştir dizin şemasını belirtir:
{
"name" : "hotels-mysql-ix",
"fields": [
{ "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false },
{ "name": "Category", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "City", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "Description", "type": "Edm.String", "searchable": false, "filterable": false, "sortable": false }
]
}
Kaynak tablodaki birincil anahtar belge anahtarıyla (bu örnekte "Kimlik") eşleşiyorsa, dizin oluşturucu birincil anahtarı belge anahtarı olarak içeri aktarır.
Veri türlerini eşleme
Aşağıdaki tablo MySQL veritabanını Azure Yapay Zeka Arama eşdeğerleriyle eşler. Daha fazla bilgi için bkz. Supported data types (Azure Yapay Zeka Arama).
Not
Önizleme geometri türlerini ve blobları desteklemez.
| MySQL veri türleri | Azure Yapay Zeka Arama alan türleri |
|---|---|
bool, boolean |
Edm.Boolean, Edm.String |
tinyint, smallint, mediumint, , int, integer, year |
Edm.Int32, Edm.Int64, Edm.String |
bigint |
Edm.Int64, Edm.String |
float, double, real |
Edm.Double, Edm.String |
date, datetime, timestamp |
Edm.DateTimeOffset, Edm.String |
char, varchar, tinytext, , mediumtext, text, longtext, enum, set, time |
Edm.String |
| işaretsiz sayısal veriler, seri, ondalık, dec, bit, blob, ikili, geometri | YOK |
MySQL dizin oluşturucusunu yapılandırma ve çalıştırma
Dizin ve veri kaynağı oluşturulduktan sonra dizin oluşturucuyu oluşturmaya hazır olursunuz. Dizin oluşturucu yapılandırması, çalışma zamanı davranışlarını denetleen girişleri, parametreleri ve özellikleri belirtir.
Dizin oluşturucuya bir ad verip veri kaynağına ve hedef dizine başvurarak dizin oluşturucu oluşturun veya güncelleştirin:
{
"name" : "hotels-mysql-idxr",
"dataSourceName" : "hotels-mysql-ds",
"targetIndexName" : "hotels-mysql-ix",
"disabled": null,
"schedule": null,
"parameters": {
"batchSize": null,
"maxFailedItems": null,
"maxFailedItemsPerBatch": null,
"base64EncodeKeys": null,
"configuration": { }
},
"fieldMappings" : [ ],
"encryptionKey": null
}
Önemli noktalar:
Alan adında veya türünde farklılıklar varsa veya arama dizininde bir kaynak alanın birden çok sürümüne ihtiyacınız varsa alan eşlemelerini belirtin.
Dizin oluşturucu oluşturulduğunda otomatik olarak çalışır.
disableddeğerinitrueolarak ayarlayarak çalışmasını engelleyebilirsiniz. Dizin oluşturucu yürütmesini denetlemek için isteğe bağlı olarak bir dizin oluşturucu çalıştırın veya zamanlamaya yerleştirin.
Dizin oluşturucu durumunu kontrol etme
Dizinleyici çalıştırmasını izlemek için bir Get Indexer Status isteği gönderin.
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-05-01-preview
Content-Type: application/json
api-key: [admin key]
Yanıt, durumu ve işlenen öğe sayısını içerir. Aşağıdaki örneğe benzer görünmelidir:
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
... earlier history items
]
}
Yürütme geçmişi, en son tamamlanan yürütmelerin en son 50'sini içerir ve en son yürütme önce gelecek şekilde ters kronolojik sırada sıralanır.
Yeni ve değiştirilmiş satırları dizine ekleme
Dizin oluşturucu bir arama dizinini tam olarak doldurduktan sonra, sonraki dizin oluşturucu çalıştırmalarının veritabanınızdaki yalnızca yeni ve değiştirilmiş satırları artımlı olarak dizinlemesini isteyebilirsiniz.
Artımlı dizin oluşturmayı etkinleştirmek için veri kaynağı tanımınızda özelliğini ayarlayın dataChangeDetectionPolicy . Bu özellik, dizin oluşturucuya verilerinizde hangi değişiklik izleme mekanizmasının kullanıldığını bildirir.
MySQL için Azure Veritabanı dizin oluşturucular için desteklenen tek ilke HighWaterMarkChangeDetectionPolicy.
Dizin oluşturucunun değişiklik algılama ilkesi, satır sürümünü yakalayan yüksek su işareti sütununa veya satırın en son güncelleştirildiği tarih ve saate dayanır. Genellikle DATE, DATETIME veya TIMESTAMP sütunları, yüksek su işareti sütununun gereksinimlerini karşılamak için yeterince ayrıntılı düzeyde olur.
MySQL veritabanınızda yüksek su seviyesi sütunu aşağıdaki gereksinimleri karşılamalıdır:
- Tüm veri eklemeleri sütun için bir değer belirtmelidir.
- Bir öğedeki tüm güncelleştirmeler sütunun değerini de değiştirir.
- Her ekleme veya güncelleştirmede bu sütunun değeri artar.
- Aşağıdaki
WHEREveORDER BYyan tümcelerine sahip sorgular verimli bir şekilde yürütülebilir:WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]
Aşağıdaki örnekte, değişiklik algılama ilkesine sahip bir veri kaynağı tanımı gösterilmektedir:
{
"name" : "[Data source name]",
"type" : "mysql",
"credentials" : { "connectionString" : "[connection string]" },
"container" : { "name" : "[table or view name]" },
"dataChangeDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName" : "[last_updated column name]"
}
}
Önemli
Görünüm kullanıyorsanız dizin oluşturucu veri kaynağınızda yüksek su işareti ilkesi ayarlamanız gerekir.
Kaynak tabloda yüksek su işareti sütununda bir dizin yoksa, MySQL indeksleyici tarafından kullanılan sorgular zaman aşımına uğrayabilir. Özellikle, ORDER BY [High Water Mark Column] yan tümcesi, tablo birçok satır içerdiğinde bir dizinin verimli bir şekilde çalışmasını gerektirir.
Silinen satırları dizinleme
Satırlar tablodan veya görünümden silindiğinde, normalde bu satırları da arama dizininden silmek istersiniz. Ancak, satırlar tablodan fiziksel olarak kaldırılırsa, dizin oluşturucunun artık var olmayan kayıtların varlığını çıkarsama yolu yoktur. Çözüm, satırları tablodan kaldırmadan mantıksal olarak silmek için geçici silme tekniği kullanmaktır. Tablonuza bir sütun ekleyin veya bu sütunu kullanarak satırları silindi olarak işaretleyin.
Silme durumu sağlayan bir sütun verildiğinde, bir dizin oluşturucu, silme durumunun olarak ayarlandığı truetüm arama belgelerini kaldıracak şekilde yapılandırılabilir. Bu davranışı destekleyen yapılandırma özelliği, veri kaynağı tanımında aşağıdaki gibi belirtilen bir veri silme algılama ilkesidir:
{
…,
"dataDeletionDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName" : "[a column name]",
"softDeleteMarkerValue" : "[the value that indicates that a row is deleted]"
}
}
softDeleteMarkerValue bir dize olmalıdır. Örneğin, silinen satırların 1 değeriyle işaretlendiği bir tamsayı sütununu kullanıyorsanız kullanın "1". Silinen satırların Boole gerçek değeriyle işaretlendiği bir BIT sütuna sahipseniz dize değişmez değerini True kullanın veya true (büyük/küçük harf fark etmez).
Sonraki adımlar
Artık dizin oluşturucuyu çalıştırabilir, durumu izleyebilir veya dizin oluşturucu yürütmesini zamanlayabilirsiniz. Aşağıdaki makaleler, Azure MySQL'den içerik çeken dizin oluşturucular için geçerlidir:
- Büyük veri kümelerini dizine ekleme
- Azure ağ güvenlik özellikleriyle korunan içeriğe Indexer erişimi