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ı).
'nı inceleyin.İç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
veyacontentHash
. - Bağlayıcı
type
içermiyorsa Cloud Search otomatik olarak öğenin durumunu belirlemek içincontentHash
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.
- İtme sırasında bağlayıcı açık bir şekilde bir itme
İç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.Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.
Bağlayıcı,
items.index
dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonraACCEPTED
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.
'nı inceleyin.İ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.İç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.Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.
Bağlayıcı,
items.index
dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonraACCEPTED
durumuna girer öğenin işlenmesini başarıyla bitirir.İ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.İ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
veyacontentHash
. - Bağlayıcı
type
içermiyorsa Cloud Search otomatik olarak öğenin durumunu belirlemek içincontentHash
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.
- İtme sırasında bağlayıcı açık bir şekilde bir itme
İç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.Bağlayıcı, bu öğeleri depodan alır ve bir dizin oluşturur API istekleri.
Bağlayıcı,
items.index
dizin oluşturabilirsiniz. Öğe yalnızca Cloud Search'ten sonraACCEPTED
durumuna girer öğenin işlenmesini başarıyla bitirir.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.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
veyaREQUEUE
değerine.