Google Cloud Search Dizine Ekleme Sıraları

Bağlayıcı SDK'sı ve Google Cloud Search API, Cloud Search'ün Dizine Ekleme Sıraları aşağıdaki görevleri gerçekleştirmek için kullanılır:

  • Her doküman için ayrı bir durum (durum, karma değerleri vb.) koruyun. kod deponuzla senkronize olmasını sağlamak için kullanılır.

  • Geçiş sırasında keşfedildiği şekliyle dizine eklenecek öğelerin listesini tutma bahsedeceğim.

  • Öğe durumuna göre sıralardaki öğelere öncelik verin.

  • Etkili entegrasyon için ek durum bilgilerini koruyun: kontrol noktaları, jeton değiştirme vb.

Sıra, dizine eklenmiş bir öğeye atanan "varsayılan" gibi bir etikettir. - varsayılan sıra veya "B"yi seçin sıra B'yi seçin.

Durum ve öncelik

Bir dokümanın sıradaki önceliği, dokümanın ItemStatus girin. Olası riskleri önlemek için ItemStatus kodları (ilkten son ele alınana kadar) öncelik sırasına göre ele alacağız:

  • ERROR - Öğe, dizine ekleme sırasında eşzamansız bir hatayla karşılaştı bu işlemin yeniden dizine eklenmesi gerekir.

  • MODIFIED - Daha önce dizine eklenmiş ve şurada değiştirilmiş öğe: son dizinden bu yana depolanıyor.

  • NEW_ITEM - Dizine eklenmemiş öğe.

  • ACCEPTED - Daha önce dizine eklenmiş ve son dizinden beri depolandı.

Bir kuyruktaki iki öğe aynı duruma sahip olduğunda, öğeye daha yüksek öncelik verilir. en uzun süredir sırada bulunan öğelerdir.

Yeni veya değiştirilmiş bir öğeyi dizine eklemek için dizine ekleme sıralarını kullanmaya genel bakış

Şekil 1'de, dizine ekleme kullanarak yeni veya değiştirilmiş bir öğeyi dizine ekleme adımları gösterilmektedir sıra. Bu adımlarda REST API çağrıları gösterilmektedir. Eşdeğer SDK çağrıları için şuraya bakın: Sıra işlemleri (Bağlayıcı SDK'sı).

Google Cloud Search dizine ekleme işlemine genel bakış
Şekil 1. Öğe eklemek veya güncellemek için dizine ekleme adımları
'nı inceleyin.
  1. İçerik bağlayıcı, items.push amacıyla dizine ekleme sırasına eklemek için öğelerin (meta veriler ve karma durum (MODIFIED, NEW_ITEM, DELETED). Özellikle:

    • İtme sırasında bağlayıcı açık bir şekilde bir itme type veya contentHash.
    • Bağlayıcı type içermiyorsa Cloud Search otomatik olarak öğenin durumunu belirlemek için contentHash kullanır.
    • Öğe bilinmiyorsa öğe durumu NEW_ITEM olarak ayarlanır.
    • Öğe varsa ve karma değerleri eşleşiyorsa durum ACCEPTED olarak korunur.
    • Öğe mevcutsa ve karmalar farklıysa durum MODIFIED olur.

    Öğe durumunun nasıl belirlendiği hakkında daha fazla bilgi için GitHub depolarında gezinme örnek kod Cloud Search başlangıç eğitimi.

    Aktarma işlemi genellikle içerik geçişi ve/veya değişiklik algılamayla ilişkilendirilir. işlemleri de içerir.

  2. İçerik bağlayıcı, items.poll oluşturmak için kuyruğa sokmanız gerekir. Cloud Search, bağlayıcıya en çok dizine eklenmesi gereken öğeler hangileri? İlk olarak durum koduna ve ardından sıraya göre hazırlar.

  3. Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.

  4. Bağlayıcı, items.index dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonra ACCEPTED durumuna girer öğenin işlenmesini başarıyla bitirir.

Bağlayıcılar, depoda artık bulunmayan öğeleri de silebilir. veya üzerinde değişiklik yapılmamışsa veya bir öğe kaynak depo hatası. Öğe silme işlemleriyle ilgili bilgi için bir sonraki bölümüne bakın.

Öğe silmek için dizine ekleme sıralarını kullanmaya genel bakış

İlgili içeriği oluşturmak için kullanılan tam geçiş stratejisi öğeleri dizine eklemek için iki sıralı bir süreç kullanır ve silme işlemlerini algılayabilir. Şekil 2'de iki öğe kullanarak bir öğeyi silmeye ilişkin bir e-posta alırsınız. Özellikle, Şekil 2'de, yapılan ikinci çapraz geçiş gösterilmektedir. tam geçiş stratejisinden yararlanabilirsiniz. Bu adımlarda REST API çağrıları kullanılır. Örneğin, eşdeğer SDK çağrıları için Sıra işlemlerine (Bağlayıcı SDK'sı) bakın.

Google Cloud Search dizine ekleme işlemine genel bakış
Şekil 2. Öğeleri silme
'nı inceleyin.
  1. İlk geçişte, içerik bağlayıcısı items.push öğeleri (meta veriler ve karma) bir dizine ekleme sırasına aktarmak için, "sıra A" olması NEW_ITEM adresini kullanın. Her öğeye etiket atanır "A" araması yapın. İçerik, Cloud Search'e dizine eklenir.

  2. İçerik bağlayıcı, items.poll yoklama sırası A'ya basın. Cloud Search, bağlayıcıya en çok dizine eklenmesi gereken öğeler hangileri? İlk olarak durum koduna ve ardından sıraya göre hazırlar.

  3. Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.

  4. Bağlayıcı, items.index dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonra ACCEPTED durumuna girer öğenin işlenmesini başarıyla bitirir.

  5. İlgili içeriği oluşturmak için kullanılan deleteQueueItems yöntemi, "B sırası" olarak adlandırılır. Ancak hiçbir öğe B sırasına aktarılmadığından hiçbir şey silinemez.

  6. İkinci tam geçişte, içerik bağlayıcısı items.push B sırasına öğe (meta veriler ve karma) aktarmak için:

    • İtme sırasında bağlayıcı açık bir şekilde bir itme type veya contentHash.
    • Bağlayıcı type içermiyorsa Cloud Search otomatik olarak öğenin durumunu belirlemek için contentHash kullanır.
    • Öğe bilinmiyorsa öğe durumu NEW_ITEM olarak ayarlanır ve sıraya alınır. etiketi "B" olarak değiştirilir.
    • Öğe varsa ve karma değerleri eşleşiyorsa durum ACCEPTED olarak korunur. ve sıra etiketi "B" olarak değiştirilir.
    • Öğe mevcutsa ve karmalar farklıysa durum MODIFIED olur ve sıra etiketi "B" olarak değiştirilir.
  7. İçerik bağlayıcı, items.poll oluşturmak için kuyruğa sokmanız gerekir. Cloud Search, bağlayıcıya en çok dizine eklenmesi gereken öğeler hangileri? İlk olarak durum koduna ve ardından sıraya göre hazırlar.

  8. Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.

  9. Bağlayıcı, items.index dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonra ACCEPTED durumuna girer öğenin işlenmesini başarıyla bitirir.

  10. En son, deleteQueueItems Search Ads 360'ta bulunan, önceden dizine eklenmiş tüm CCloud Search öğelerini silmek için hâlâ "A" sırası var. etiket.

  11. Sonraki tam geçişlerde, dizine eklemek için kullanılan sıra ve silmek için kullanılan sıra değiştirilir.

Sıra işlemleri (Bağlayıcı SDK'sı)

Content Connector SDK'sı, öğeleri bir sıraya ekleyin.

Bir öğeyi paketlemek ve sıraya aktarmak için pushItems kullanın. oluşturucu dersi.

Öğeleri bir sıraya göre sıradan çekmek için işleniyor. Bunun yerine SDK, öncelikli olarak sıradan öğeleri otomatik olarak çeker sipariş, Repository sınıfının getDoc yöntemidir.

Sıra işlemleri (REST API)

REST API, web'e öğe aktarmak için aşağıdaki iki yöntemi sunar sıradan öğe alma:

  • Bir öğeyi sıraya aktarmak için Items.push işlevini kullanın.
  • Sıradaki öğeleri yoklamak için Items.poll öğesini kullanın.

Ayrıca şunu da kullanabilirsiniz: Items.index kullanabilirsiniz. sırasında sıraya aktarılan öğeler dizine ekleme type ve bu kullanıcılara otomatik olarak ACCEPTED.

Items.push

İlgili içeriği oluşturmak için kullanılan Items.push yöntemi, kimlikleri sıraya ekler. Bu yöntem, belirli bir type değeri kullanılır. type değerlerinin listesi için şuraya bakın: değerini Items.push'taki item.type alanı yöntemidir.

Yeni bir kimlik aktarıldığında NEW_ITEM ile yeni bir giriş eklenir ItemStatus girin.

İsteğe bağlı yük her zaman depolanır, opak bir değer olarak değerlendirilir ve DÜŞEYARA'yı Items.poll.

Bir öğe anket yapıldığında ayrılır, yani tarafından iade edilemez. başka bir çağrı Items.poll. Kullanım Items.push şununla: type NOT_MODIFIED, REPOSITORY_ERROR veya REQUEUE olarak, rezervasyon iptal ediyor anketli girişlerdir. Ayrılmış ve ayrılmamış girişler hakkında daha fazla bilgi için Items.poll bölümüne bakın.

Karmalarla Items.push

Google Cloud Search API, meta veri ve içerik karma değerlerinin belirtilmesini destekler açık Items.index kabul edersiniz. Belirtmek yerine type Meta veri ve/veya içerik karma değerleri push isteğiyle belirtilebilir. Cloud Search Dizine Ekleme Sırası, ve veri kaynağına da bakabilirsiniz. Uyumsuzsa söz konusu giriş MODIFIED olarak işaretlenir. Karşılık gelen bir öğe dizinde yoksa durumu NEW_ITEM olur.

Items.poll

Items.poll yöntemi, en yüksek öncelikli girişleri sıradan alır. İstenen ve döndürülen durum değerleri, istenen öncelik sırası veya döndürülen kimliklerin durumu.

Varsayılan olarak, sıranın herhangi bir bölümünden elde edilen girişler aşağıdaki öncelik sırasına koyabilirsiniz. Döndürülen her giriş ayrılmıştır ve başkaları tarafından döndürülmez şunu arar: Items.poll aşağıdaki durumlardan biri karşılanana kadar:

  • Rezervasyon zaman aşımına uğradı.
  • Giriş, Items.index tarafından tekrar sıraya alındı.
  • Items.push şununla çağrılır: type NOT_MODIFIED, REPOSITORY_ERROR veya REQUEUE değerine.