MySQL için Azure Veritabanı Esnek Sunucudan verileri dizine alın
Makale
Önemli
MySQL desteği şu anda Ek Kullanım Koşulları altında genel önizleme aşamasındadır. İçeriğinizin dizinini oluşturmak için 2020-06-30-preview veya üzerini kullanabilirsiniz. En son önizleme API'sini öneririz. Şu anda portal desteği yoktur.
Bu makalede, MySQL için Azure Veritabanı içeriği içeri aktaran ve Azure AI Search'te aranabilir hale getiren bir dizin oluşturucu yapılandırmayı öğrenin. Dizin oluşturucuya girişler, tek bir tablo veya görünümdeki satırınızdır. Çıkış, tek tek alanlarda aranabilir içeriğe sahip bir arama dizinidir.
Bu makale, esnek MySQL için Azure Veritabanı sunucudan dizin oluşturmaya özgü bilgilerle dizin oluşturucu oluşturma işlemini 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 su işareti ve geçici silme içerecek şekilde yapılandırıldığında MySQL veritabanınız için tüm değişiklikleri, karşıya yüklemeleri ve silmeleri alır. 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.
Esnek Sunucu ve örnek verileri MySQL için Azure Veritabanı. 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 sağlayan bir anahtar içerir, ancak Azure rolleri kullanıyorsanız arama hizmeti yönetilen kimliğininMySQL üzerinde Okuyucu izinlerine sahip olduğundan emin olun.
.NET için Azure SDK'sını da kullanabilirsiniz. Dizin oluşturucu oluşturmak 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ğı mevcut olduktan sonra Azure portalında 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.
bir ADO.NET bağlantı dizesi olarak ayarlayıncredentials. bağlantı dizesi Azure portalında MySQL'in Bağlantı dizeleri sayfasında bulabilirsiniz.
Tablonun adına ayarlayın container .
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 .
Dizin oluşturma
Dizin Oluştur veya Güncelleştir dizin şemasını belirtir:
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şturucu oluşturulduğunda otomatik olarak çalışır. olarak ayarlayarak disabledtrueç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 denetleme
Dizin oluşturucu yürütmesini izlemek için Dizin Oluşturucu Durumunu Al isteği gönderin:
HTTP
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2024-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:
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.
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, yüksek su işareti sütununun gereksinimlerini karşılamak için yeterli ayrıntı düzeyinde bir , DATETIMEveya TIMESTAMP sütunu olur.
MySQL veritabanınızda yüksek su işareti 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 WHERE ve ORDER BY yan 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:
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 dizin oluşturucu tarafından kullanılan sorgular zaman aşımına neden olabilir. Ö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ı dizine ekleme
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:
HTTP
{
…,
"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).