Azure Yapay Zeka Arama'te dizin oluşturucu zamanlama

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.

schedule Dizin oluşturucuları bir zamanlamaya göre çalışacak şekilde yapılandırmak için özelliğini ayarlayın. Dizin oluşturucu zamanlaması aşağıdaki gibi durumlarda kullanışlıdır:

  • Kaynak veriler zaman içinde değişir ve dizin oluşturucunun farkı otomatik olarak işlemesini istersiniz.
  • Kaynak veriler çok büyük ve içeriğin tümünü dizine almak için yinelenen bir zamanlamaya ihtiyacınız vardır.
  • Bir dizin, birden çok dizin oluşturucu kullanılarak birden çok kaynaktan doldurulur ve çakışmaları azaltmak için işleri basamaklamak istiyorsunuz.

Dizin oluşturma işlemi tipik 2 saatlik işlem penceresinde tamamlanamadıysa, dizin oluşturucuyu büyük miktarda veri üzerinde çalışacak şekilde 2 saatlik bir tempoda çalışacak şekilde zamanlayın. Veri kaynağınız değişiklik algılama mantığını desteklediği sürece, dizin oluşturucular her çalıştırmada kaldıkları yerden otomatik olarak devam edebilir.

Bir dizin oluşturucuyu bir zamanlamaya bağladığınızda, aralık değerini veya başlangıç saatini temizleyene ya da disabled değerini true olarak ayarlayana kadar bu zamanlamada kalır. Zamanlanmış dizin oluşturucu beklenmedik şekilde tetiklenmemeye başlarsa kurtarma adımları için Zamanlama davranışı SSS bölümüne bakın. İşlenecek bir şey olmadığında dizin oluşturucunun zamanlanmış olarak etkin bırakılması sistem performansını etkilemez. Değiştirilen içeriği denetlemek nispeten hızlı bir işlemdir.

Önkoşullar

  • Veri kaynağı ve dizin ile yapılandırılmış geçerli bir dizinleyici.

  • Veri kaynağında değişiklik algılama . Azure Depolama ve SharePoint yerleşik değişiklik algılama özelliğine sahiptir. Azure SQL ve Azure Cosmos DB gibi diğer veri kaynakları için değişiklik algılamayı el ile etkinleştirmeniz gerekir.

Zamanlama tanımı

Zamanlama, dizin oluşturucu tanımının bir parçasıdır. Özelliği atlarsanız schedule , dizin oluşturucu yalnızca isteğe bağlı olarak çalışır. özelliği iki bölümden oluşur.

Özellik Açıklama
aralık (gerekli) Ardışık iki dizin oluşturucu yürütmesinin başlangıcı arasındaki süre. İzin verilen en küçük aralık 5 dakikadır ve en uzun süre 1.440 dakikadır (24 saat). Bunu bir XSD "dayTimeDuration" değeri ( ISO 8601 süre değerinin kısıtlanmış bir alt kümesi) olarak biçimlendirin.

Bu değerin deseni: P(nD)(T(nH)(nM)).

Örnekler: PT15M 15 dakikada bir, PT2H iki saatte bir.
başlangıç zamanı (isteğe bağlı) Başlangıç saatini eşgüdümlü evrensel saat (UTC) olarak belirtin. Bu değeri atlarsanız geçerli saat kullanılır. Bu süre geçmişte olabilir; bu durumda ilk yürütme, dizin oluşturucu özgün başlangıç zamanından beri sürekli çalışıyormuş gibi zamanlanır.

Aşağıdaki örnek, 1 Ocak'ta gece yarısı başlayan ve iki saatte bir çalışan bir zamanlamadır.

{
    "dataSourceName" : "hotels-ds",
    "targetIndexName" : "hotels-idx",
    "schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}

Zamanlama yapılandırma

Dizin oluşturucu tanımında zamanlamaları belirtin. Zamanlama ayarlamak için Azure portalını, REST API'lerini veya bir Azure SDK kullanın.

  1. Azure portalında arama hizmetinize gidin.
  2. Sol bölmede Dizinleyiciler'i seçin.
  3. Bir dizinleyici açın.
  4. Ayarlar'ı seçin.
  5. Zamanlamaya kadar aşağı kaydırın ve belirli bir tarih, saat veya özel aralık ayarlamak için Saatlik, Günlük veya Özel'i seçin.

Zamanlama tanımını XSD biçiminde görüntülemek için dizinin üst kısmındaki Dizin Oluşturucu Tanımı (JSON) sekmesine geçin.

Zamanlama Davranışı Hakkında Sıkça Sorulan Sorular

Birden çok dizin oluşturucu işini paralel olarak çalıştırabilir miyim?

Aynı anda birden çok dizin oluşturucu çalıştırabilirsiniz, ancak her dizin oluşturucu tek bir örnektir. Aynı dizin oluşturucunun iki kopyasını eşzamanlı olarak çalıştıramazsınız.

Metin tabanlı dizin oluşturma için zamanlayıcı, arama hizmetinin desteklediği kadar dizin oluşturucu işi başlatabilir; bu sayı arama birimleri tarafından belirlenir. Örneğin, hizmetin üç replikası ve dört bölümü varsa, isteğe bağlı olarak veya bir program dahilinde başlatılmasına bakılmaksızın 12 dizin oluşturucu işi aktif olarak yürütülebilir.

Beceri tabanlı dizin oluşturma için dizin oluşturucular belirli bir yürütme ortamında çalışır. Bu nedenle, hizmet birimi sayısı çalıştırabileceğiniz beceri tabanlı dizin oluşturucu işlerinin sayısını etkilemez. Birden çok beceri tabanlı dizin oluşturucu paralel olarak çalışabilir, ancak bunu yapmak yürütme ortamında içerik işlemcisi kullanılabilirliğine bağlıdır.

Zamanlanmış işler her zaman belirlenen saatte mi başlar?

Dizin oluşturucu işlemleri kuyrukta birikebilir ve işleme yüküne ve diğer faktörlere bağlı olarak tam belirtilen zamanda başlamayabilir. Örneğin, bir dizin oluşturucu bir sonraki zamanlanmış çalıştırmasının başlama zamanı geldiğinde hâlâ çalışıyorsa, bekleyen çalıştırma bir sonraki zamanlanmış zamana ertelenir; bu da geçerli işin tamamlanmasına olanak tanır.

Bu davranışı daha somut hale getirmek için aşağıdaki örneği göz önünde bulundurun. Diyelim ki saatlik aralığa ve başlangıç saati 1 Ocak 2024 UTC 08:00:00 olan bir dizin oluşturucu zamanlaması yapılandırıyorsunuz. Dizin oluşturucu çalıştırması bir saatten uzun sürdüğünde şunlar olabilir:

  1. İlk dizin oluşturucu yürütmesi, 1 Ocak 2024 günü UTC saat 08:00’de veya civarında başlar. Bu yürütmenin 20 dakika (veya 1 saatten kısa bir süre) sürdüğünü varsayalım.

  2. İkinci yürütme 1 Ocak 2024 09:00 UTC civarında başlar. Bu yürütmenin 70 dakika (bir saatten fazla) sürdüğünü ve UTC saat 10:10'a kadar tamamlanmadığını varsayalım.

  3. Üçüncü yürütme, UTC'de 10:00'da başlayacak şekilde zamanlanır, ancak o sırada önceki yürütme çalışmaya devam eder. Bu önceden zamanlanmış yürütme daha sonra atlanır. Dizin oluşturucunun sonraki yürütmesi 11:00 UTC'ye kadar başlamaz.

Bakım sırasında veya geçici durumlardan kurtulurken olduğu gibi nadir durumlarda sistem, birden fazla dizin oluşturucu çalıştırmasını kuyruğa ekler. Bu koşul oluştuğunda, dizin oluşturucu bekleyen iş yüklerini zamanlanan pencere içinde sıralı olarak yürütür. Örneğin, bir dizin oluşturucu saatlik çalışacak şekilde zamanlandıysa ve birkaç çalıştırma isteğe bağlı olarak geciktirildiyse veya tetiklendiyse, kuyruğa alınan işler kuyruk boşaltılana kadar arka arkaya yürütülür. Bu çalıştırmalar ek çalıştırmalar değildir; önceden planlanmış veya talep edilmiş çalıştırmaları ifade eder. Çoğu senaryoda bu davranış yaygın olmasa da dizin oluşturucu, tutarlılığı ve veri güncelliğini korumak için kuyruğa alınan tüm görevleri nihayetinde işlemek üzere tasarlanmıştır.

Not

Zamana duyarlı katı dizin oluşturucu yürütme gereksinimleriniz varsa, dizin oluşturma işlem hattını doğrudan denetleyebilmeniz için anında iletme API'sini kullanmayı göz önünde bulundurun.

Dizin oluşturma aynı belgede tekrar tekrar başarısız olursa ne olur?

Bir dizin oluşturucuyu belirli bir zamanlamaya ayarlarsanız ancak her seferinde aynı belgede tekrar tekrar başarısız olursa, dizin oluşturucu yeniden başarılı bir şekilde ilerleme kaydedene kadar daha az sıklıkta çalışmaya başlar (farklı uygulama faktörlerine bağlı olarak en az 2 saatte bir veya 24 saatte bir en fazla bir zaman aralığına kadar). Temelde yatan sorunu düzelttiğinizi düşünüyorsanız, dizin oluşturucuyu manuel olarak çalıştırın. Dizin oluşturma başarılı olursa, dizin oluşturucu normal zamanlamasına döner. Dizin oluşturucu, el ile başarılı bir çalıştırmadan sonra normal zamanlamasına dönmezse sonraki soruya bakın.

Zamanlanmış dizin oluşturucu tetiklenmeyi durdurdu. Zamanlamasını nasıl sıfırlayabilirim?

Zamanlanmış dizin oluşturucu çalışmayı durdurursa, zamanlamayı sıfırlamak için devre dışı bırakın ve yeniden etkinleştirin. Bu kurtarmanın gerekli olduğunu belirten bir işaret: Zamanlama yapılandırılmış ve veri kaynağı değiştirilmiş olsa bile yürütme geçmişinde yeni çalıştırma görünmüyor.

disabled ayarını true olarak ayarlamak zamanlamayı askıya alır. Bunu yeniden false olarak ayarlamak (veya özelliği atlamak), zamanlamayı yeniden başlatır ve geçerli saati yapılandırılmış aralık için yeni başlangıç noktası olarak kullanır.

  1. Azure portalında arama hizmetinize gidin.
  2. Dizin Oluşturucular'ı seçin.
  3. Açmak için dizin oluşturucuyu seçin.
  4. Ayarlar'ı seçin.
  5. Dizin oluşturucuyu Devre Dışı olarak ayarlayın.
  6. Kaydetseçeneğini seçin.
  7. Dizin oluşturucuyu yeniden Etkin olarak ayarlayın.
  8. Kaydetseçeneğini seçin.
  9. Yürütme geçmişi sekmesini seçin ve bir sonraki zamanlanmış aralık içinde yeni bir çalıştırmanın göründüğünü doğrulayın.

Not

Dizin oluşturucunun yeniden etkinleştirilmesi, zamanlamayı özgün startTimezamana göre değil geçerli saate göre sıfırlar. Örneğin, aralık iki saatse ve 15:15'te yeniden etkinleştirirseniz, bir sonraki zamanlanmış çalıştırma yaklaşık 17:15'te olur.

Sonraki adımlar

Zamanlamaya göre çalışan dizin oluşturucular için, arama hizmetinden durumu alarak işlemleri izleyebilir veya kaynak günlüğünü etkinleştirerek ayrıntılı bilgi alabilirsiniz.