İçerik bağlayıcı, verileri bir kurumsal veri havuzuna erişebilir ve bir veri kaynağını doldurabilir. Google aşağıdakileri sağlar: içerik bağlayıcıları geliştirme seçenekleri:
Content Connector SDK'sı. Bu, özellikle de web sitesi tasarımcısı yardımcı oldu. Content Connector SDK'sı, REST API sayesinde bağlayıcıları hızlıca oluşturabilirsiniz. İçerik oluşturmak için bağlayıcısının nasıl kullanıldığını öğrenmek için Content Connector SDK'sını kullanarak içerik bağlayıcısı oluşturun.
Alt düzey bir REST API veya API kitaplıkları. Uygun değilseniz bu seçenekleri kullanın kod tabanınız bir web sitesini daha iyi karşılıyorsa veya REST API veya kitaplık. REST API kullanarak içerik bağlayıcısı oluşturmak için - REST API'yi kullanarak içerik bağlayıcısı oluşturma
Tipik bir içerik bağlayıcısı aşağıdaki görevleri yerine getirir:
- Yapılandırma parametrelerini okur ve işler.
- "items" adı verilen ve dizine eklenebilir veri parçalarının ayrık parçalarını alır üçüncü taraflardan içerik deposu olarak kullanabilirsiniz.
- ACL'leri, meta verileri ve içerik verilerini dizine eklenebilir öğelerde birleştirir.
- Öğeleri Cloud Search veri kaynağına dizine ekler.
- (isteğe bağlı) Üçüncü taraf içeriğinden gelen bildirimleri değiştirmek için dinler depodur. Değişiklik bildirimleri, saklanması gereken dizine ekleme isteklerine dönüştürülür Cloud Search veri kaynağı, üçüncü taraf veri havuzuyla senkronize edilir. İlgili içeriği oluşturmak için kullanılan bağlayıcı yalnızca depo değişiklik algılamayı destekliyorsa bu görevi gerçekleştirir.
Content Connector SDK'sını kullanarak içerik bağlayıcısı oluşturma
Aşağıdaki bölümlerde, Content Connector SDK'sı.
Bağımlılıkları belirleme
SDK'yı kullanmak için derleme dosyanıza belirli bağımlılıkları eklemeniz gerekir. Sonraki slayta geçin bağımlılıklarını görüntülemek için aşağıdaki sekmelerden birini tıklayın:
Maven
<dependency>
<groupId>com.google.enterprise.cloudsearch</groupId>
<artifactId>google-cloudsearch-indexing-connector-sdk</artifactId>
<version>v1-0.0.3</version>
</dependency>
Gradle
compile group: 'com.google.enterprise.cloudsearch',
name: 'google-cloudsearch-indexing-connector-sdk',
version: 'v1-0.0.3'
Bağlayıcı yapılandırmanızı oluşturma
Her bağlayıcının,
bağlayıcınızın kimliğini girin. Parametreler şu şekilde tanımlanır:
anahtar/değer çiftleri:
api.sourceId=1234567890abcdef
.
Google Cloud Search SDK'sı, Google tarafından sağlanan çeşitli yapılandırma içerir tüm bağlayıcılar tarafından kullanılan parametrelerdir. Aşağıdakileri beyan etmeniz gerekir: Yapılandırma dosyanızdaki Google tarafından sağlanan parametreler:
- İçerik bağlayıcısı için
api.sourceId
ve Bu parametreler konumu tanımladığındanapi.serviceAccountPrivateKeyFile
deponuz ve özel anahtarınız olabilir.
- Kimlik bağlayıcısı için
api.identitySourceId
öğesini bu olarak tanımlamanız gerekir parametresi, harici kimlik kaynağınızın konumunu tanımlar. Şu durumda: kullanıcılar senkronize ediliyorsaapi.customerId
öğesini de şunlar için benzersiz kimlik olarak beyan etmeniz gerekir: kuruluşunuzun Google Workspace hesabıyla ilişkilidir.
Google tarafından sağlanan diğer parametrelerini yapılandırma dosyanızda bildirmeniz gerekmez. Google'ın sağladığı yapılandırma parametreleri (ör. hakkında bilgi edinmek için Google'ın sağladığı yapılandırma parametreleri.
Ayrıca yapılandırma dosyası.
Yapılandırma dosyasını bağlayıcıya iletme
Yapılandırma dosyasınıconfig
bağlayıcı. Özelliği, başlatırken -D
bağımsız değişkenini kullanarak ayarlayabilirsiniz
bağlayıcı. Örneğin, aşağıdaki komut,
MyConfig.properties
yapılandırma dosyasıyla:
java -classpath myconnector.jar;... -Dconfig=MyConfig.properties MyConnector
Bu bağımsız değişken eksikse SDK, varsayılan bir yapılandırmaya erişmeye çalışır
connector-config.properties
adlı dosya.
Geçiş stratejinizi belirleyin
İçerik bağlayıcısının birincil işlevi, bir depodan bilgi edinmek ve dizine ekler. Tarayıcının boyutuna ve boyutlarına göre bir geçiş stratejisi verilerin düzenini artırabilirsiniz. Kendi stratejinizi tasarlayabilir veya SDK'da uygulanan aşağıdaki stratejilerden:
- Tam geçiş stratejisi
Tam geçiş stratejisi, tüm depoyu tarar ve gizli bir şekilde dizinleri ele alacağız. Bu strateji genellikle küçük bir deponuz olduğunda ve , dizine her eklediğinizde tam bir geçiş yapmanın ek yükünü karşılayabilir.
Bu geçiş stratejisi, çoğunlukla web sitesi statik, hiyerarşik olmayan verilerdir. Bu geçiş stratejisini ayrıca zor olduğu veya desteklenmeyeceği durumlar olabilir.
- Liste geçiş stratejisi
Liste geçiş stratejisi, tüm alt öğeler dahil olmak üzere deponun tamamını tarar. her bir öğenin durumunu belirler. Ardından, bağlayıcı birkaç saniye içinde yalnızca son dizine ekleyin. Bu strateji genellikle, artımlılık denemelerinde bir dizin güncellemelerini (her biri için tam bir geçiş yapmak .
Bu geçiş stratejisi, değişikliğin tespit edilmesinin zor veya veri havuzu tarafından desteklenmiyorsa, hiyerarşik olmayan verileriniz vardır ve büyük veri kümeleriyle çalışıyor.
- Grafik geçişi
Bir grafik geçiş stratejisi, her öğenin durumunu gösterir. Ardından, bağlayıcı ikinci bir geçişi gerçekleştirir ve yalnızca kök düğümdeki öğeler yenidir veya son dizine ekleme işleminden sonra güncellenmiştir. Son olarak, bağlayıcı tüm alt kimlikleri iletir ve ardından alt düğümlerdeki öğeleri dizine ekler. yeni veya güncellenmiş sayfaları gösterebilirsiniz. Bağlayıcı, yineleyen bir şekilde tüm alt düğümler üzerinde işlem yapılmasını beklemelisiniz. Bu geçiş, genellikle tüm kimliklerin listelenmediği hiyerarşik depolar için kullanılır pratik.
Bu strateji, olması gereken hiyerarşik verilerin olduğu taranamaz.
ziyaret edin.
Bu geçiş stratejilerinin her biri, bir şablon bağlayıcısı tarafından uygulanır. sınıfını kullanır. Kendi geçiş stratejinizi uygulayabilirsiniz, ancak bu şablonları, bağlayıcınızın geliştirilmesini önemli ölçüde hızlandırır. Alıcı: şablon kullanarak bir bağlayıcı oluşturun, bağlı olan bölüme geçiş stratejiniz:
- Şablon sınıfı kullanarak tam geçiş bağlayıcısı oluşturma
- Şablon sınıfı kullanarak liste geçiş bağlayıcısı oluşturma
- Şablon sınıfı kullanarak grafik geçiş bağlayıcısı oluşturma
Şablon sınıfı kullanarak tam geçiş bağlayıcısı oluşturma
Belgelerin bu bölümü, FullTraversalSample örneğidir.
Bağlayıcının giriş noktasını uygulayın
Bağlayıcının giriş noktası
main()
yöntemini çağırın. Bu yöntemin birincil görevi, yeni
Application
çağırır ve
start()
yöntemini kullanın.
Aramadan önce
application.start()
her bir
IndexingApplication.Builder
sınıfını kullanarak
FullTraversalConnector
tıklayın. İlgili içeriği oluşturmak için kullanılan
FullTraversalConnector
kabul eder:
Repository
nesne (yöntemlerini uyguladığınız) Aşağıdaki kod snippet'i, sitenizin
main()
yöntemini uygulamak için:
Arka planda SDK,
initConfig()
yöntemini çağırınmain()
Application.build
.
İlgili içeriği oluşturmak için kullanılan
initConfig()
yöntem
şu görevleri gerçekleştirir:
-
Configuation.isInitialized()
yöntemini kullananConfiguration
başlatılmadı. - Google'ın sağladığı anahtar/değer çiftiyle bir
Configuration
nesnesini başlatır çiftler. Her anahtar/değer çiftiConfigValue
Configuration
nesnesinin içindeki bir nesnedir.
Repository
arayüzünü uygulama
Repository
nesnesinin tek amacı geçişi gerçekleştirmek ve
dizine eklenir. Bunu kullanırken
yalnızca Repository
içindeki belirli yöntemleri geçersiz kılmanız gerekir
arayüzünü kullanın. Geçersiz kıldığınız yöntemler
şablonu ve geçiş stratejisidir.
FullTraversalConnector
, aşağıdaki yöntemleri geçersiz kılın:
İlgili içeriği oluşturmak için kullanılan
init()
yöntemidir. Veri deposu kurulumu ve başlatma işlemleri yapmak içininit()
yöntemini çağırın.İlgili içeriği oluşturmak için kullanılan
getAllDocs()
yöntemidir. Veri deposundaki tüm öğeleri tarayıp dizine eklemek için veri deposundaki tüm öğeleri tarayıp dizine eklemek içingetAllDocs()
yöntemini çağırın. Bu yöntem, planlanmış her geçiş için bir kez çağrılır (yapılandırmanız tarafından tanımlandığı şekilde).(isteğe bağlı)
getChanges()
yöntemidir. Deponuz değişiklik algılamayı destekliyorsagetChanges()
yöntemini çağırın. Bu yöntem, planlanan her artımlılık için bir kez geçiş (yapılandırmanız tarafından tanımlandığı gibi), değiştirilmiş öğeleri almak için dizine ekleyin.(isteğe bağlı)
close()
yöntemidir. Depo temizleme işlemi gerçekleştirmeniz gerekiyorsaclose()
yönergesini geçersiz kılın yöntemidir. Bu yöntem, bağlayıcının kapatılması sırasında bir kez çağrılır.
Bu yöntemlerin her biri
Repository
nesnesi,
ApiOperation
nesnesini tanımlayın. Bir ApiOperation
nesnesi, tek bir veya şu şekilde bir işlem gerçekleştirir:
birden fazla olabilir, IndexingService.indexItem()
çağrılarına bir örnektir.
Özel yapılandırma parametrelerini alma
Bağlayıcınızın yapılandırmasınıın bir parçası olarak,
özel parametrelerini içeren
Configuration
nesnesini tanımlayın. Bu görev genellikle
Repository
sınıfın
init()
yöntemini kullanabilirsiniz.
Configuration
sınıfı, farklı veri türlerini almak için çeşitli yöntemler sunar.
kaldıracaktır. Her yöntem bir ConfigValue
nesnesi döndürür. Bu durumda,
ConfigValue
nesnesini kullan
get()
yöntemini kullanın.
Aşağıdaki snippet,
FullTraversalSample
bir dosyanın
Configuration
nesnesindeki tek özel tam sayı değeri:
Birkaç değer içeren bir parametreyi almak ve ayrıştırmak için
Configuration
sınıfının tür ayrıştırıcıları, verileri ayrı parçalara ayrıştırır.
Eğitim bağlayıcısında bulunan aşağıdaki snippet,
getMultiValue
yöntemini kullanarak GitHub deposu adlarını listele:
Tam geçiş gerçekleştir
Geçersiz kıl
getAllDocs()
kullanarak deponuzu dizine ekleyin. getAllDocs()
yöntemi bir kontrol noktası kabul eder. Kontrol noktası, dizine ekleme işlemini
Süreç kesintiye uğrarsa ilgili öğeyi belirtin. Projenizdeki her bir öğe için
deponuz varsa getAllDocs()
yönteminde şu adımları uygulayın:
- İzinleri ayarlayın.
- Dizine eklediğiniz öğenin meta verilerini ayarlayın.
- Meta veriyi ve öğeyi dizine eklenebilir bir kaynakta birleştirin
RepositoryDoc
. - Dizine eklenebilir her öğeyi
getAllDocs()
tarafından döndürülen bir iteratöre paketleyin yöntemidir.getAllDocs()
işlevinin aslındaCheckpointCloseableIterable
Bu, projenin hedeflendiğiApiOperation
her nesne bir tarayıcıda gerçekleştirilen API isteğini temsil edenRepositoryDoc
gibi.
Öğe grubu tek bir çağrıda işlenemeyecek kadar büyükse
kontrol noktası belirleyin
hasMore(true)
ifadesini girin.
Bir öğenin izinlerini ayarlama
Deponuz kullanıcıları tanımlamak için Erişim Kontrol Listesi (EKL) bir öğeye erişimi olan gruplar için kullanılır. EKL, grup veya kullanıcılara ait kimliklerden oluşan bir listedir erişebilir.
Yalnızca bu kullanıcıların sağlandığından emin olmak için deponuz tarafından kullanılan EKL'yi kopyalamalısınız erişimi olan kullanıcılar ilgili öğeyi arama sonucu içinde görebilirler. İlgili içeriği oluşturmak için kullanılan Google Cloud Search'ün doğru erişim düzeyini sağlamak için ihtiyaç duyduğu bilgilere sahip olması için bir öğe dizine eklenirken öğenin EKL'si eklenmelidir. öğedir.
Content Connector SDK'sı, aşağıdakileri yapmak için zengin bir EKL sınıfı ve yöntemi kümesi sağlar: model oluşturabilirsiniz. Şu klasördeki her öğe için EKL'yi analiz etmelisiniz: depoladığınızda veri deponuz ve Google Cloud Search için buna karşılık gelen dizine ekleyin. Kod deponuzun EKL'si ACL gibi kavramları kullanıyorsa gibi verilerin modellenmesi zor olabilir. Google Cloud ile ilgili Cloud Search EKL'ler için şuraya bakın: Google Cloud Search EKL'leri.
Not: Cloud Search Indexing API, tek alanlı EKL'leri destekler. İçermiyor:
daha fazla bilgi edinin. Şunu kullanın:
Acl.Builder
sınıfını kullanır. Aşağıdaki kod snippet'i,
büyük geçiş örneğinden çıkarılacak şekilde
tüm kullanıcıları veya "ana hesapları"
(getCustomerPrincipal()
)
tüm öğelerin "okuyucusu" olmak
(.setReaders()
)
en iyi yoludur.
Depoda EKL'leri doğru şekilde modellemek için ACL'leri anlamanız gerekir. Örneğin, Örneğin, bir dosya sistemi içindeki dosyaları, Alt klasörlerin izinleri devraldığı bir tür devralma modeli kullanır üst klasörlerden kaldırın. EKL devralma modellemesi için ek bilgi gerekir kapsamı Google Cloud Search EKL'leri
Bir öğenin meta verilerini ayarlama
Meta veriler bir Item
nesnesinde depolanır. Item
oluşturmak için:
öğe için en az benzersiz dize kimliği, öğe türü, EKL, URL ve sürüm olmalıdır.
Aşağıdaki kod snippet'i,Item
IndexingItemBuilder
yardımcı sınıf.
Dizine eklenebilir öğeyi oluşturma
Öğenin meta verilerini ayarladıktan sonra, gerçek
dizine eklenebilir öğe oluşturabilirsiniz
öğesini kullanarak
RepositoryDoc.Builder
sınıfını kullanır. Aşağıdaki örnekte, dizine eklenebilir tek bir öğenin nasıl oluşturulacağı gösterilmektedir.
RepositoryDoc
, gerçekten aşağıdakileri gerçekleştiren bir ApiOperation
türüdür
IndexingService.indexItem()
isteği.
Ayrıca şunu da kullanabilirsiniz:
setRequestMode()
yöntemi
RepositoryDoc.Builder
sınıfını kullanarak dizine ekleme isteğini ASYNCHRONOUS
veya SYNCHRONOUS
olarak tanımlar:
ASYNCHRONOUS
- Eşzamansız mod, dizine eklemeden sunma gecikmesine neden olur ve dizine ekleme istekleri için büyük işleme hızı kotasına olanak tanır. Eşzamansız mod tüm deponun ilk dizine eklemesi (dolgu) için önerilir.
SYNCHRONOUS
- Eşzamanlı mod, dizine ekleme ve sunma arasındaki gecikme süresini kısaltır.
sınırlı işleme hızı kotası içerir. Eşzamanlı mod:
ve depoda yapılan değişikliklerin dizine eklenmesi için önerilir. Eğer
belirtilmemişse istek modu varsayılan olarak
SYNCHRONOUS
olur.
Dizine eklenebilir her öğeyi bir iteratörde paketleyin
getAllDocs()
yöntemi bir Iterator
değeri döndürür, özellikle de
CheckpointCloseableIterable
,
/
RepositoryDoc
nesneler'i tıklayın. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için
CheckpointClosableIterableImpl.Builder
sınıfını kullanır. Aşağıdaki kod snippet'i, sitenizin
bir yineleme oluşturmak ve döndürmektir.
SDK, yineleme içinde yer alan her dizine ekleme çağrısını yürütür.
Sonraki Adımlar
Atabileceğiniz sonraki adımlardan bazıları şunlardır:
- (İsteğe bağlı) Dizine ekleme hızınız yavaşsa
FullTraversalConnector
için dizine ekleme hızını artırma başlıklı makaleye bakın. - (isteğe bağlı)
close()
uygulayın yöntemini kullanın. - (isteğe bağlı) Kimlik bağlayıcısı oluşturma nasıl kullanacağınızı göstereceğim.
Şablon sınıfı kullanarak liste geçiş bağlayıcısı oluşturma
Cloud Search Dizine Ekleme Sırası, kimlikleri ve isteğe bağlı karmayı tutmak için kullanılır değerleridir. Bir liste geçiş bağlayıcısı, Google Cloud Search Dizine Ekleme Sırasına öğe kimlikleri ekler ve bunları için gereken süreyi ifade eder. Google Cloud Search kuyrukları takip eder öğe durumunu (ör. bir öğenin öğede mevcut olup olmadığı gibi) depodan silindi. Cloud Search hakkında daha fazla bilgi için Dizine Ekleme Sırası, bakın Cloud Search Dizine Ekleme Sırası.
Belgelerin bu bölümü, ListTraversalSample örneğine bakalım.
Bağlayıcının giriş noktasını uygulayın
Bağlayıcının giriş noktası
main()
yöntemini çağırın. Bu yöntemin birincil görevi, yeni
Application
sınıfını çağırarak
start()
yöntemini kullanın.
Aramadan önce
application.start()
her bir
IndexingApplication.Builder
sınıfını kullanarak
ListingConnector
tıklayın. ListingConnector
şunları kabul ediyor:
Repository
nesne (yöntemlerini uyguladığınız) Aşağıdaki snippet'te
ListingConnector
ve ilişkili Repository
örneğini gösterin:
Arka planda SDK,
initConfig()
yöntemini çağırınmain()
Application.build
.
initConfig()
yöntemi:
-
Configuation.isInitialized()
yöntemini kullananConfiguration
henüz başlatılmadı. - Google'ın sağladığı anahtar/değer çiftiyle bir
Configuration
nesnesini başlatır çiftler. Her anahtar/değer çiftiConfigValue
Configuration
nesnesinin içindeki bir nesnedir.
Repository
arayüzünü uygulama
Repository
nesnesinin tek amacı geçişi gerçekleştirmek ve
dizine eklenir. Şablon kullanırken yalnızca geçersiz kılma işlemlerini yapmanız gerekir
içerik bağlayıcısı oluşturmak için Repository
arayüzünde belirli yöntemleri kullanabilirsiniz.
Geçersiz kıldığınız yöntemler, kullandığınız şablona ve geçiş stratejisine bağlıdır.
ListingConnector
aşağıdaki yöntemleri geçersiz kıl:
İlgili içeriği oluşturmak için kullanılan
init()
yöntemidir. Veri deposu kurulumu ve başlatma işlemleri yapmak içininit()
yöntemini çağırın.getIds()
yöntemidir. Depodaki tüm kayıtların kimliklerini ve karma değerlerini almak içingetIds()
yöntemini geçersiz kıl.getDoc()
yöntemidir. Dizine yeni öğe eklemek, mevcut öğeleri güncellemek, değiştirmek veya silmek içingetDoc()
yöntemini çağırın.(isteğe bağlı)
getChanges()
yöntemidir. Deponuz değişiklik algılamayı destekliyorsagetChanges()
yöntemini çağırın. Bu yöntem, planlanan her artımlılık için bir kez geçiş (yapılandırmanız tarafından tanımlandığı gibi), değiştirilmiş öğeleri almak için dizine ekleyin.(isteğe bağlı)
close()
yöntemidir. Depo temizleme işlemi gerçekleştirmeniz gerekiyorsaclose()
yönergesini geçersiz kılın yöntemidir. Bu yöntem, bağlayıcının kapatılması sırasında bir kez çağrılır.
Repository
nesnesinin yöntemlerinin her biri bir tür
ApiOperation
nesnesini tanımlayın. Bir ApiOperation
nesnesi, tek bir veya şu şekilde bir işlem gerçekleştirir:
birden fazla olabilir, IndexingService.indexItem()
çağrılarına bir örnektir.
Özel yapılandırma parametrelerini alma
Bağlayıcınızın yapılandırmasınıın bir parçası olarak,
özel parametrelerini içeren
Configuration
nesnesini tanımlayın. Bu görev genellikle
Repository
sınıfın
init()
yöntemini kullanabilirsiniz.
Configuration
sınıfı, farklı veri türlerini almak için çeşitli yöntemler sunar.
kaldıracaktır. Her yöntem bir ConfigValue
nesnesi döndürür. Bu durumda,
ConfigValue
nesnesini kullan
get()
yöntemini kullanın.
Aşağıdaki snippet,
FullTraversalSample
bir dosyanın
Configuration
nesnesindeki tek özel tam sayı değeri:
Birkaç değer içeren bir parametreyi almak ve ayrıştırmak için
Configuration
sınıfının tür ayrıştırıcıları, verileri ayrı parçalara ayrıştırır.
Eğitim bağlayıcısında bulunan aşağıdaki snippet,
getMultiValue
yöntemini kullanarak GitHub deposu adlarını listele:
Liste geçişini gerçekleştirme
Geçersiz kıl
getIds()
yöntemini kullanabilirsiniz.
getIds()
yöntemi bir kontrol noktası kabul eder. Kontrol noktası, kampanyanın devam ettirilmesi için kullanılır.
işlemin kesintiye uğraması durumunda belirli bir öğe için dizine eklenmesine olanak tanır.
Ardından,
getDoc()
yöntemini kullanmanızı öneririz.
Öğe kimliklerini ve karma değerlerini aktarın
Geçersiz kıl
getIds()
öğesini kullanarak öğe kimliklerini ve ilişkili içerik karma değerlerini
depodur. Kimlik ve karma değer çiftleri, daha sonra push işlemine paketlenir.
Cloud Search Dizine Ekleme Sırasına istek gönderebilir. Kök veya üst kimlikler genellikle
öğe hiyerarşisinin tamamı tamamlanana kadar önce alt kimlikler, ardından da alt kimlikler aktarılır
işlendi.
getIds()
yöntemi, eklenecek son öğeyi temsil eden bir kontrol noktası kabul eder:
dizine eklendi. Kontrol noktası, dizine ekleme işlemine belirli bir öğede devam etmek için kullanılabilir.
süreç kesintiye uğrayabilir. Deponuzdaki her öğe için şu işlemleri yapın:
getIds()
yöntemindeki adımlar:
- Depodan her öğe kimliğini ve ilişkili karma değerini alın.
- Her kimlik ve karma değeri çiftini bir
PushItems
olarak paketleyin. - Her
PushItems
öğesinigetIds()
yöntemidir.getIds()
işlevinin aslındaCheckpointCloseableIterable
Bu, projenin hedeflendiğiApiOperation
her nesne bir tarayıcıda gerçekleştirilen API isteğini temsil edenRepositoryDoc
, öğeleri sıraya aktarın.
Aşağıdaki kod snippet'i, her bir öğe kimliğinin ve karma değerinin nasıl alınacağını ve
bunları bir
PushItems
.
PushItems
, bir öğeyi Cloud Search'e aktarmak için yapılan bir ApiOperation
isteğidir
Dizine Ekleme Sırası.
Aşağıdaki kod snippet'i,
PushItems.Builder
sınıfları, kimlikleri ve karma değerlerini tek bir aktarımda paketleme
ApiOperation
.
Öğeler, daha fazla işlenmek üzere Cloud Search Dizine Ekleme Sırasına gönderilir.
Her bir öğeyi alma ve işleme
Geçersiz kıl
Cloud Search Dizine Ekleme Sırasındaki her bir öğeyi işlemek için getDoc()
.
Bir öğe yeni, değiştirilmiş, değiştirilmemiş veya artık kaynakta yer almıyor olabilir
depodur. Yeni veya değiştirilmiş her bir öğeyi alın ve dizine ekleyin. Öğeleri kaldırma
artık kaynak depoda bulunmayan dizinden kaldırmalıdır.
getDoc()
yöntemi, Google Cloud Search'teki bir öğeyi kabul eder.
Dizine Ekleme Sırası. Sıradaki her bir öğe için aşağıdaki adımları uygulayın:
getDoc()
yöntem:
Cloud Search Dizine Ekleme Sırasında öğe kimliğinin olup olmadığını kontrol edin seçeceğim. Değilse öğeyi dizinden silin.
Dizinde öğe durumu için anket yapın ve öğe değişmediyse (
ACCEPTED
) anket yapmayın hiçbir şey yapmaz.Dizin değişti veya yeni öğeler:
- İzinleri ayarlayın.
- Dizine eklediğiniz öğenin meta verilerini ayarlayın.
- Meta veriyi ve öğeyi dizine eklenebilir bir kaynakta birleştirin
RepositoryDoc
. RepositoryDoc
öğesini iade edin.
Not: ListingConnector
şablonu, şu sürümlerde null
değerinin döndürülmesini desteklemez:
getDoc()
yöntemi. null
sonucu döndürüldüğünde NullPointerException.
ile sonuçlanır
Silinen öğeleri işleme
Aşağıdaki kod snippet'i, saklamanız gerekir. Aksi takdirde silebilirsiniz.
documents
öğesinin, depoyu temsil eden bir veri yapısı olduğunu unutmayın. Eğer
documentID
, documents
dilinde bulunamadı, döndürülür
APIOperations.deleteItem(resourceName)
tuşuna basarak öğeyi dizinden silebilirsiniz.
Değiştirilmeyen öğeleri işleyin
Aşağıdaki kod snippet'i, Cloud Search'te öğe durumunun nasıl sorgulanacağını gösterir Dizine Ekleme Sırası ve değiştirilmemiş bir öğeyi işleme.
Öğenin değiştirilip değiştirilmediğini belirlemek için öğenin durumunu da kontrol edin meta veriler olarak da adlandırılır. Bu örnekte, meta veriler karma değeri, öğenin değiştirilip değiştirilmediğini belirlemek için kullanılır.
Bir öğenin izinlerini ayarlama
Deponuz kullanıcıları tanımlamak için Erişim Kontrol Listesi (EKL) bir öğeye erişimi olan gruplar için kullanılır. EKL, grup veya kullanıcılara ait kimliklerden oluşan bir listedir erişebilir.
Yalnızca bu kullanıcıların sağlandığından emin olmak için deponuz tarafından kullanılan EKL'yi kopyalamalısınız erişimi olan kullanıcılar ilgili öğeyi arama sonucu içinde görebilirler. İlgili içeriği oluşturmak için kullanılan Google Cloud Search'ün doğru erişim düzeyini sağlamak için ihtiyaç duyduğu bilgilere sahip olması için bir öğe dizine eklenirken öğenin EKL'si eklenmelidir. öğedir.
Content Connector SDK'sı, aşağıdakileri yapmak için zengin bir EKL sınıfı ve yöntemi kümesi sağlar: model oluşturabilirsiniz. Şu klasördeki her öğe için EKL'yi analiz etmelisiniz: depoladığınızda veri deponuz ve Google Cloud Search için buna karşılık gelen dizine ekleyin. Kod deponuzun EKL'si ACL gibi kavramları kullanıyorsa gibi verilerin modellenmesi zor olabilir. Google Cloud ile ilgili Cloud Search EKL'ler için şuraya bakın: Google Cloud Search EKL'leri.
Not: Cloud Search Indexing API, tek alanlı EKL'leri destekler. İçermiyor:
daha fazla bilgi edinin. Şunu kullanın:
Acl.Builder
sınıfını kullanır. Aşağıdaki kod snippet'i,
büyük geçiş örneğinden çıkarılacak şekilde
tüm kullanıcıları veya "ana hesapları"
(getCustomerPrincipal()
)
tüm öğelerin "okuyucusu" olmak
(.setReaders()
)
en iyi yoludur.
Depoda EKL'leri doğru şekilde modellemek için ACL'leri anlamanız gerekir. Örneğin, Örneğin, bir dosya sistemi içindeki dosyaları, Alt klasörlerin izinleri devraldığı bir tür devralma modeli kullanır üst klasörlerden kaldırın. EKL devralma modellemesi için ek bilgi gerekir kapsamı Google Cloud Search EKL'leri
Bir öğenin meta verilerini ayarlama
Meta veriler bir Item
nesnesinde depolanır. Item
oluşturmak için:
öğe için en az benzersiz dize kimliği, öğe türü, EKL, URL ve sürüm olmalıdır.
Aşağıdaki kod snippet'i,Item
IndexingItemBuilder
yardımcı sınıf.
Dizine eklenebilir öğe oluşturma
Öğenin meta verilerini ayarladıktan sonra, gerçek
dizine eklenebilir öğe oluşturabilirsiniz
öğesini kullanarak
RepositoryDoc.Builder
.
Aşağıdaki örnekte, dizine eklenebilir tek bir öğenin nasıl oluşturulacağı gösterilmektedir.
RepositoryDoc
bir tür
Gerçek performansı gösteren ApiOperation
IndexingService.indexItem()
isteği gönderin.
Ayrıca şunu da kullanabilirsiniz:
setRequestMode()
yöntemi
RepositoryDoc.Builder
sınıfını kullanarak dizine ekleme isteğini ASYNCHRONOUS
veya SYNCHRONOUS
olarak tanımlar:
ASYNCHRONOUS
- Eşzamansız mod, dizine eklemeden sunma gecikmesine neden olur ve dizine ekleme istekleri için büyük işleme hızı kotasına olanak tanır. Eşzamansız mod tüm deponun ilk dizine eklemesi (dolgu) için önerilir.
SYNCHRONOUS
- Eşzamanlı mod, dizine ekleme ve sunma arasındaki gecikme süresini kısaltır.
sınırlı işleme hızı kotası içerir. Eşzamanlı mod:
ve depoda yapılan değişikliklerin dizine eklenmesi için önerilir. Eğer
belirtilmemişse istek modu varsayılan olarak
SYNCHRONOUS
olur. ziyaret edin.
Sonraki Adımlar
Atabileceğiniz sonraki adımlardan bazıları şunlardır:
- (isteğe bağlı)
close()
uygulayın yöntemini kullanın. - (isteğe bağlı) Kimlik bağlayıcısı oluşturma nasıl kullanacağınızı göstereceğim.
Şablon sınıfı kullanarak grafik geçiş bağlayıcısı oluşturma
Cloud Search Dizine Ekleme Sırası, kimlikleri ve isteğe bağlı karma değerlerini tutmak için kullanılır her bir öğe için otomatik olarak oluşturulur. Bir grafik geçiş bağlayıcısı, öğe kimliklerini Google Cloud Search Dizine Ekleme Sırasını düzenler ve sorgularınızı tek tek dizine ekleyin. Google Cloud Search sıraları korur ve sıra içeriklerini bir öğenin depodur. Cloud Search Dizine Ekleme Sırası hakkında daha fazla bilgi için - Google Cloud Search Dizine Ekleme Sırası.
Dizine ekleme sırasında, öğe içeriği veri deposundan alınır ve alt öğe kimlikleri sıraya aktarılır. Bağlayıcı yinelemeli olarak ilerler tüm öğeler işlenene kadar üst ve alt kimlikler işlenir.
Belgelerin bu bölümü, GraphTraversalSample örneğine bakalım.
Bağlayıcının giriş noktasını uygulayın
Bağlayıcının giriş noktası
main()
yöntemini çağırın. Bu yöntemin birincil görevi, yeni
Application
sınıfını çağırarak
start()
yöntemini kullanın.
Aramadan önce
application.start()
her bir
IndexingApplication.Builder
sınıfını kullanarak ListingConnector
şablonunu örneklendirin. İlgili içeriği oluşturmak için kullanılan
ListingConnector
kabul eder:
Repository
nesne (yöntemlerini uyguladığınız)
Aşağıdaki snippet'te
ListingConnector
ve ilişkili Repository
örneğini gösterin:
Arka planda SDK,
initConfig()
yöntemini çağırınmain()
Application.build
.
initConfig()
yöntemi:
-
Configuation.isInitialized()
yöntemini kullananConfiguration
henüz başlatılmadı. - Google'ın sağladığı anahtar/değer çiftiyle bir
Configuration
nesnesini başlatır çiftler. Her anahtar/değer çiftiConfigValue
Configuration
nesnesinin içindeki bir nesnedir.
Repository
arayüzünü uygulama
Belgenin tek amacı
Repository
nesnesi, depoda gezinme ve dizine ekleme işlemini gerçekleştirmektir
öğeler. Bir şablon kullanırken
İçerik bağlayıcı oluşturmak için kullanılan Repository
arayüzü. Geçersiz kıldığınız yöntemler
kullandığınız şablona ve geçiş stratejisine bağlıdır.
ListingConnector
aşağıdaki yöntemleri geçersiz kılarsınız:
İlgili içeriği oluşturmak için kullanılan
init()
yöntemidir. Veri deposu kurulumu ve başlatma işlemleri yapmak içininit()
yöntemini çağırın.getIds()
yöntemidir. Depodaki tüm kayıtların kimliklerini ve karma değerlerini almak içingetIds()
yöntemini geçersiz kıl.getDoc()
yöntemidir. Dizine yeni öğe eklemek, mevcut öğeleri güncellemek, değiştirmek veya silmek içingetDoc()
yöntemini çağırın.(isteğe bağlı)
getChanges()
yöntemidir. Deponuz değişiklik algılamayı destekliyorsagetChanges()
yöntemini çağırın. Bu yöntem, planlanan her artımlılık için bir kez geçiş (yapılandırmanız tarafından tanımlandığı gibi), değiştirilmiş öğeleri almak için dizine ekleyin.(isteğe bağlı)
close()
yöntemidir. Depo temizleme işlemi gerçekleştirmeniz gerekiyorsaclose()
yönergesini geçersiz kılın yöntemidir. Bu yöntem, bağlayıcının kapatılması sırasında bir kez çağrılır.
Bu yöntemlerin her biri
Repository
nesnesi bir tür ApiOperation
nesnesi döndürüyor. ApiOperation
bir veya birden fazla sonuç biçiminde bir işlem gerçekleştirir.
IndexingService.indexItem()
çağrılarına bir örnektir.
Özel yapılandırma parametrelerini alma
Bağlayıcınızın yapılandırmasınıın bir parçası olarak,
özel parametrelerini içeren
Configuration
nesnesini tanımlayın. Bu görev genellikle
Repository
sınıfın
init()
yöntemini kullanabilirsiniz.
Configuration
sınıfı, farklı veri türlerini almak için çeşitli yöntemler sunar.
kaldıracaktır. Her yöntem bir ConfigValue
nesnesi döndürür. Bu durumda,
ConfigValue
nesnesini kullan
get()
yöntemini kullanın.
Aşağıdaki snippet,
FullTraversalSample
bir dosyanın
Configuration
nesnesindeki tek özel tam sayı değeri:
Birkaç değer içeren bir parametreyi almak ve ayrıştırmak için
Configuration
sınıfının tür ayrıştırıcıları, verileri ayrı parçalara ayrıştırır.
Eğitim bağlayıcısında bulunan aşağıdaki snippet,
getMultiValue
yöntemini kullanarak GitHub deposu adlarını listele:
Grafik geçişini gerçekleştir
Geçersiz kıl
getIds()
yöntemini kullanabilirsiniz.
getIds()
yöntemi bir kontrol noktası kabul eder. Kontrol noktası, kampanyanın devam ettirilmesi için kullanılır.
işlemin kesintiye uğraması durumunda belirli bir öğe için dizine eklenmesine olanak tanır.
Ardından,
getDoc()
yöntemini kullanmanızı öneririz.
Öğe kimliklerini ve karma değerlerini aktarın
Geçersiz kıl
getIds()
öğesini kullanarak öğe kimliklerini ve ilişkili içerik karma değerlerini
depodur. Kimlik ve karma değer çiftleri, daha sonra push işlemine paketlenir.
Cloud Search Dizine Ekleme Sırasına istek gönderebilir. Kök veya üst kimlikler genellikle
öğe hiyerarşisinin tamamı tamamlanana kadar önce alt kimlikler, ardından da alt kimlikler aktarılır
işlendi.
getIds()
yöntemi, eklenecek son öğeyi temsil eden bir kontrol noktası kabul eder:
dizine eklendi. Kontrol noktası, dizine ekleme işlemine belirli bir öğede devam etmek için kullanılabilir.
süreç kesintiye uğrayabilir. Deponuzdaki her öğe için şu işlemleri yapın:
getIds()
yöntemindeki adımlar:
- Depodan her öğe kimliğini ve ilişkili karma değerini alın.
- Her kimlik ve karma değeri çiftini bir
PushItems
olarak paketleyin. - Her
PushItems
öğesinigetIds()
yöntemini çağırın.getIds()
işlevinin aslındaCheckpointCloseableIterable
Bu, projenin hedeflendiğiApiOperation
her nesne bir tarayıcıda gerçekleştirilen API isteğini temsil edenRepositoryDoc
, öğeleri sıraya aktarın.
Aşağıdaki kod snippet'i, her bir öğe kimliğinin ve karma değerinin nasıl alınacağını ve
bunları bir
PushItems
PushItems
,
ApiOperation
, bir öğeyi Cloud Search Dizine Ekleme Sırasına aktarma isteğinde bulunuyor.
Aşağıdaki kod snippet'i,
PushItems.Builder
sınıfları, kimlikleri ve karma değerlerini tek bir aktarımda paketleme
ApiOperation
.
Öğeler, daha fazla işlenmek üzere Cloud Search Dizine Ekleme Sırasına gönderilir.
Her bir öğeyi alma ve işleme
Geçersiz kıl
Cloud Search Dizine Ekleme Sırasındaki her bir öğeyi işlemek için getDoc()
.
Bir öğe yeni, değiştirilmiş, değiştirilmemiş veya artık kaynakta yer almıyor olabilir
depodur. Yeni veya değiştirilmiş her bir öğeyi alın ve dizine ekleyin. Öğeleri kaldırma
artık kaynak depoda bulunmayan dizinden kaldırmalıdır.
getDoc()
yöntemi, Cloud Search Dizine Ekleme'den bir öğe kabul eder
Sıra. Sıradaki her bir öğe için aşağıdaki adımları uygulayın:
getDoc()
yöntem:
Cloud Search Dizine Ekleme Sırasındaki öğe kimliğinin depodur. Değilse öğeyi dizinden silin. Öğe mevcutsa sonraki adıma geçin.
Dizin değişti veya yeni öğeler:
- İzinleri ayarlayın.
- Dizine eklediğiniz öğenin meta verilerini ayarlayın.
- Meta veriyi ve öğeyi dizine eklenebilir bir kaynakta birleştirin
RepositoryDoc
. - Alt kimlikleri daha fazla işlenmek üzere Cloud Search Dizine Ekleme Sırasına yerleştirin.
RepositoryDoc
öğesini iade edin.
Silinen öğeleri işleme
Aşağıdaki kod snippet'i, bir öğenin dizinde mevcut olup olmadığını nasıl belirleyeceğinizi gösterir. veya silmezler.
Bir öğenin izinlerini ayarlama
Deponuz kullanıcıları tanımlamak için Erişim Kontrol Listesi (EKL) bir öğeye erişimi olan gruplar için kullanılır. EKL, grup veya kullanıcılara ait kimliklerden oluşan bir listedir erişebilir.
Yalnızca bu kullanıcıların sağlandığından emin olmak için deponuz tarafından kullanılan EKL'yi kopyalamalısınız erişimi olan kullanıcılar ilgili öğeyi arama sonucu içinde görebilirler. İlgili içeriği oluşturmak için kullanılan Google Cloud Search'ün doğru erişim düzeyini sağlamak için ihtiyaç duyduğu bilgilere sahip olması için bir öğe dizine eklenirken öğenin EKL'si eklenmelidir. öğedir.
Content Connector SDK'sı, aşağıdakileri yapmak için zengin bir EKL sınıfı ve yöntemi kümesi sağlar: model oluşturabilirsiniz. Şu klasördeki her öğe için EKL'yi analiz etmelisiniz: depoladığınızda veri deponuz ve Google Cloud Search için buna karşılık gelen dizine ekleyin. Kod deponuzun EKL'si ACL gibi kavramları kullanıyorsa gibi verilerin modellenmesi zor olabilir. Google Cloud ile ilgili Cloud Search EKL'ler için şuraya bakın: Google Cloud Search EKL'leri.
Not: Cloud Search Indexing API, tek alanlı EKL'leri destekler. İçermiyor:
daha fazla bilgi edinin. Şunu kullanın:
Acl.Builder
sınıfını kullanır. Aşağıdaki kod snippet'i,
büyük geçiş örneğinden çıkarılacak şekilde
tüm kullanıcıları veya "ana hesapları"
(getCustomerPrincipal()
)
tüm öğelerin "okuyucusu" olmak
(.setReaders()
)
en iyi yoludur.
Depoda EKL'leri doğru şekilde modellemek için ACL'leri anlamanız gerekir. Örneğin, Örneğin, bir dosya sistemi içindeki dosyaları, Alt klasörlerin izinleri devraldığı bir tür devralma modeli kullanır üst klasörlerden kaldırın. EKL devralma modellemesi için ek bilgi gerekir kapsamı Google Cloud Search EKL'leri
Bir öğenin meta verilerini ayarlama
Meta veriler bir Item
nesnesinde depolanır. Item
oluşturmak için:
öğe için en az benzersiz dize kimliği, öğe türü, EKL, URL ve sürüm olmalıdır.
Aşağıdaki kod snippet'i,Item
IndexingItemBuilder
yardımcı sınıf.
Dizine eklenebilir öğeyi oluşturma
Öğenin meta verilerini ayarladıktan sonra, gerçek
dizine eklenebilir öğe oluşturabilirsiniz
öğesini kullanarak
RepositoryDoc.Builder
.
Aşağıdaki örnekte, dizine eklenebilir tek bir öğenin nasıl oluşturulacağı gösterilmektedir.
RepositoryDoc
, gerçekten aşağıdakileri gerçekleştiren bir ApiOperation
türüdür
IndexingService.indexItem()
isteği.
Ayrıca şunu da kullanabilirsiniz:
setRequestMode()
yöntemi
RepositoryDoc.Builder
sınıfını kullanarak dizine ekleme isteğini ASYNCHRONOUS
veya SYNCHRONOUS
olarak tanımlar:
ASYNCHRONOUS
- Eşzamansız mod, dizine eklemeden sunma gecikmesine neden olur ve dizine ekleme istekleri için büyük işleme hızı kotasına olanak tanır. Eşzamansız mod tüm deponun ilk dizine eklemesi (dolgu) için önerilir.
SYNCHRONOUS
- Eşzamanlı mod, dizine ekleme ve sunma arasındaki gecikme süresini kısaltır.
sınırlı işleme hızı kotası içerir. Eşzamanlı mod:
ve depoda yapılan değişikliklerin dizine eklenmesi için önerilir. Eğer
belirtilmemişse istek modu varsayılan olarak
SYNCHRONOUS
olur.
Alt kimlikleri Cloud Search Dizine Ekleme Sırasına yerleştirme
Aşağıdaki kod snippet'i, şu anda işlenmekte olan üst öğe, işlenmek üzere sıraya alınır. Bu kimlikler üst öğe dizine eklendikten sonra işlenir.
Sonraki Adımlar
Atabileceğiniz sonraki adımlardan bazıları şunlardır:
- (isteğe bağlı)
close()
uygulayın yöntemini kullanın. - (isteğe bağlı) Kimlik bağlayıcısı oluşturma her şeyi üretirsiniz.
REST API kullanarak içerik bağlayıcı oluşturma
Aşağıdaki bölümlerde, REST API.
Geçiş stratejinizi belirleyin
İçerik bağlayıcısının birincil işlevi, bir depodan bilgi edinmek ve dizine ekler. Tarayıcının boyutuna ve boyutlarına göre bir geçiş stratejisi verilerin düzenini artırabilirsiniz. Aşağıda, üç yaygın geçiş adımı verilmiştir: stratejiler:
- Tam geçiş stratejisi
Tam geçiş stratejisi, tüm depoyu tarar ve gizli bir şekilde dizinleri ele alacağız. Bu strateji genellikle küçük bir deponuz olduğunda ve , dizine her eklediğinizde tam bir geçiş yapmanın ek yükünü karşılayabilir.
Bu geçiş stratejisi, çoğunlukla web sitesi statik, hiyerarşik olmayan verilerdir. Bu geçiş stratejisini ayrıca zor olduğu veya desteklenmeyeceği durumlar olabilir.
- Liste geçiş stratejisi
Liste geçiş stratejisi, tüm alt öğeler dahil olmak üzere deponun tamamını tarar. her bir öğenin durumunu belirler. Ardından, bağlayıcı birkaç saniye içinde yalnızca son dizine ekleyin. Bu strateji genellikle, artımlılık denemelerinde bir dizin güncellemelerini (her biri için tam bir geçiş yapmak .
Bu geçiş stratejisi, değişikliğin tespit edilmesinin zor veya veri havuzu tarafından desteklenmiyorsa, hiyerarşik olmayan verileriniz vardır ve büyük veri kümeleriyle çalışıyor.
- Grafik geçişi
Bir grafik geçiş stratejisi, her öğenin durumunu gösterir. Ardından, bağlayıcı ikinci bir geçişi gerçekleştirir ve yalnızca kök düğümdeki öğeler yenidir veya son dizine ekleme işleminden sonra güncellenmiştir. Son olarak, bağlayıcı tüm alt kimlikleri iletir ve ardından alt düğümlerdeki öğeleri dizine ekler. yeni veya güncellenmiş sayfaları gösterebilirsiniz. Bağlayıcı, yineleyen bir şekilde tüm alt düğümler üzerinde işlem yapılmasını beklemelisiniz. Bu geçiş, genellikle tüm kimliklerin listelenmediği hiyerarşik depolar için kullanılır pratik.
Bu strateji, olması gereken hiyerarşik verilerin olduğu taranır.
ziyaret edin.
Geçiş stratejinizi uygulayın ve öğeleri dizine ekleyin
Cloud Search için dizine eklenebilir her öğe, API'de item Cloud Search API'yi kullanabilirsiniz. Öğe; dosya, klasör, CSV dosyasındaki bir satır veya olması gerekir.
Şemanız kaydedildikten sonra dizini şu şekilde doldurabilirsiniz:
(isteğe bağlı)
items.upload
kullanımı . Daha küçük dosyalar için içeriği inlineContent kullanarakitems.index
.(isteğe bağlı)
media.upload
kullanımı dizine eklemek üzere medya dosyalarını yüklemek için kullanılır.Öğeyi dizine eklemek için
items.index
kullanılıyor. Örneğin, şemanız filmdeki bir filmdeki schema öğesi olan tek bir dizine ekleme isteği öğe aşağıdaki gibi görünür:{ "name": "datasource/<data_source_id>/items/titanic", "acl": { "readers": [ { "gsuitePrincipal": { "gsuiteDomain": true } } ] }, "metadata": { "title": "Titanic", "viewUrl": "http://www.imdb.com/title/tt2234155/?ref_=nv_sr_1", "objectType": "movie" }, "structuredData": { "object": { "properties": [ { "name": "movieTitle", "textValues": { "values": [ "Titanic" ] } }, { "name": "releaseDate", "dateValues": { "values": [ { "year": 1997, "month": 12, "day": 19 } ] } }, { "name": "actorName", "textValues": { "values": [ "Leonardo DiCaprio", "Kate Winslet", "Billy Zane" ] } }, { "name": "genre", "enumValues": { "values": [ "Drama", "Action" ] } }, { "name": "userRating", "integerValues": { "values": [ 8 ] } }, { "name": "mpaaRating", "textValues": { "values": [ "PG-13" ] } }, { "name": "duration", "textValues": { "values": [ "3 h 14 min" ] } } ] } }, "content": { "inlineContent": "A seventeen-year-old aristocrat falls in love with a kind but poor artist aboard the luxurious, ill-fated R.M.S. Titanic.", "contentFormat": "TEXT" }, "version": "01", "itemType": "CONTENT_ITEM" }
(İsteğe bağlı) items.get kullanarak Öğeyi doğrulamak için yapılan aramalar dizine eklendi.
Tam geçiş yapmak için, sitenin tamamını belirli aralıklarla yeniden dizine eklersiniz depodur. Liste veya grafik geçişi gerçekleştirmek için depo değişikliklerini işleme kodunu eklemeniz gerekir.
Depo değişikliklerini işleme
Belirli aralıklarla veri havuzundan her öğeyi depolayarak tam dizin oluşturma. Dizininizin güncel olmasını sağlamada etkili olmakla birlikte, daha büyük veya hiyerarşik depolarla çalışırken dizine ekleme maliyetli olabilir.
Kod deposunun tamamını dizine eklemek için ara sıra dizin çağrılarını kullanmak yerine Google Cloud Dizine Ekleme Sırası'nı da kullanabilir değişiklikleri izlemek ve yalnızca değiştirildi. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için items.push öğeleri daha sonra yoklama ve güncelleme amacıyla sıraya aktarma istekleridir. Daha fazla Google Cloud Dizine Ekleme Sırası hakkında bilgi için Google Cloud Dizine Ekleme Sırası.
Google Cloud Search API hakkında daha fazla bilgi için Cloud Search API.