Setiap konektor memiliki file konfigurasi terkait yang berisi
parameter yang digunakan oleh konektor,
seperti ID untuk repositori Anda. Parameter ditentukan sebagai pasangan nilai kunci, seperti
api.sourceId=1234567890abcdef
.
Google Cloud Search SDK berisi beberapa konfigurasi yang disediakan Google parameter yang digunakan oleh konektor yang berbeda. Dari parameter konfigurasi yang disediakan Google, hanya parameter Akses sumber data yang perlu ditentukan di kolom file konfigurasi Anda. Anda tidak perlu menentukan ulang parameter yang disediakan Google di file konfigurasi kecuali jika Anda ingin mengganti nilai defaultnya.
Referensi ini menjelaskan parameter konfigurasi yang disediakan Google.
Contoh file konfigurasi
Contoh berikut menunjukkan file konfigurasi identitas dengan key-value pair parameter.
# # Configuration file sample # api.sourceId=1234567890abcdef api.identitySourceId=0987654321lmnopq api.serviceAccountPrivateKeyFile= ./PrivateKey.json # # Traversal schedules # schedule.traversalIntervalSecs=7200 schedule.incrementalTraversalIntervalSecs=600 # # Default ACLs # defaultAcl.mode=fallback defaultAcl.public=true
Umumnya menetapkan parameter
Bagian ini mencantumkan parameter konfigurasi wajib dan opsional yang umum ditetapkan. Jika Anda tidak mengubah nilai untuk parameter opsional, konektor akan menggunakan nilai default yang disediakan oleh SDK.
Akses sumber data
Tabel berikut mencantumkan semua parameter yang diperlukan agar muncul dalam konfigurasi . Parameter yang Anda gunakan bergantung pada jenis konektor yang Anda buat (konektor konten) atau konektor identitas).
Setelan | Parameter |
---|---|
ID sumber data | api.sourceId=1234567890abcdef
Parameter ini diperlukan oleh konektor untuk mengidentifikasi lokasi repositori Anda. Anda mendapatkan nilai ini saat menambahkan sumber data ke penelusuran. Parameter ini harus ada dalam file konfigurasi konektor. |
ID sumber identitas | api.identitySourceId=0987654321lmnopq
Parameter ini diperlukan oleh konektor identitas untuk mengidentifikasi lokasi sumber identitas eksternal. Anda mendapatkan nilai ini saat memetakan identitas pengguna di Cloud Search. Parameter ini harus ada di semua file konfigurasi konektor identitas. |
File kunci pribadi akun layanan | api.serviceAccountPrivateKeyFile=./PrivateKey.json
Parameter ini berisi kunci pribadi yang diperlukan untuk mengakses repositori. Anda mendapatkan nilai ini saat akses konfigurasi ke REST Google Cloud Search Google Cloud Platform. Parameter ini harus ada di semua file konfigurasi. |
ID akun layanan | api.serviceAccountId=123abcdef4567890
Parameter ini menentukan akun layanan ke ID. Nilai string kosong default hanya diizinkan jika file konfigurasi menentukan parameter file kunci pribadi. Parameter ini diperlukan jika file kunci pribadi Anda bukan kunci JSON. |
ID Akun Google Workspace | api.customerId=123abcdef4567890
Parameter ini menentukan ID akun untuk akun Google Workspace perusahaan. Anda memperoleh nilai ini jika Anda memetakan identitas di Cloud Search. Parameter ini diperlukan saat menyinkronkan pengguna menggunakan konektor identitas. |
URL root | api.rootUrl=baseURLPath
Parameter ini menentukan jalur URL dasar layanan pengindeksan. Nilai default untuk parameter ini adalah string kosong yang dikonversi menjadi
|
Jadwal traversal
Parameter penjadwalan menentukan seberapa sering konektor menunggu di antara proses traversal.
Setelan | Parameter |
---|---|
Traversal penuh pada startup konektor | schedule.performTraversalOnStart=true|false
Konektor melakukan traversal penuh saat konektor dimulai, bukan
menunggu sampai interval
pertama berakhir. Nilai defaultnya adalah |
Traversal penuh setelah interval | schedule.traversalIntervalSecs=intervalInSeconds
Konektor menjalankan traversal penuh setelah interval yang ditentukan. Tentukan
interval antar traversal dalam hitungan detik. Nilai defaultnya adalah |
Keluar setelah satu traversal | connector.runOnce=true|false
Konektor menjalankan traversal penuh sekali, lalu keluar. Parameter ini hanya boleh
ditetapkan ke |
Traversal inkremental setelah interval | schedule.incrementalTraversalIntervalSecs=intervalInSeconds
Konektor melakukan traversal inkremental setelah interval yang ditentukan.
Tentukan interval antara traversal dalam hitungan detik. Nilai defaultnya adalah
|
Interval antrean polling terjadwal | schedule.pollQueueIntervalSecs=interval_in_seconds
Interval antara interval antrean polling yang dijadwalkan (dalam detik). Ini digunakan
hanya dengan konektor traversal listingan. Nilai defaultnya adalah |
Daftar kontrol akses
Konektor mengontrol akses ke item menggunakan ACL. Beberapa parameter memungkinkan Anda untuk melindungi akses pengguna ke catatan yang diindeks dengan ACL.
Jika repositori Anda memiliki informasi ACL individual yang terkait dengan setiap item, mengupload semua informasi ACL untuk mengontrol akses item dalam Cloud Search. Jika repositori Anda menyediakan sebagian atau tidak ada informasi ACL, Anda dapat memberikan Informasi ACL dalam parameter berikut, yang diberikan SDK ke konektor 20%.
Setelan | Parameter |
---|---|
Mode ACL | defaultAcl.mode=mode
Menentukan kapan harus menerapkan ACL default. Nilai valid:
Mode default-nya adalah |
ACL publik default | defaultAcl.public=true|false
ACL default yang digunakan untuk seluruh repositori ditetapkan ke akses domain publik.
Nilai defaultnya adalah |
Pembaca grup ACL umum | defaultAcl.readers.groups=google:group1@mydomain.com,
group2 |
Pembaca ACL umum | defaultAcl.readers.users=user1, user2,
google:user3@mydomain.com |
ACL umum menolak pembaca grup | defaultAcl.denied.groups=group3 |
ACL umum menolak pembaca | defaultAcl.denied.users=user4, user5 |
Seluruh akses domain | Untuk menentukan bahwa setiap data yang diindeks dapat diakses secara publik oleh setiap pengguna
di domain, tetapkan kedua parameter berikut dengan nilai:
|
ACL yang ditetapkan umum | Untuk menentukan satu ACL untuk setiap
pencatatan repositori data, atur semua
parameter value berikut:
|
Parameter konfigurasi metadata
Beberapa metadata item dapat dikonfigurasi. Konektor dapat menetapkan kolom metadata yang dapat dikonfigurasi selama pengindeksan. Jika konektor tidak menetapkan kolom, parameter di file konfigurasi Anda akan digunakan untuk mengatur {i>field<i}.
File konfigurasi memiliki serangkaian parameter konfigurasi
{i>metadata <i}bernama yang ditunjukkan oleh
akhiran .field
, seperti
itemMetadata.title.field=movieTitle
. Jika ada nilai untuk
parameter, digunakan untuk mengkonfigurasi kolom metadata. Jika tidak ada nilai untuk
metadata yang telah diberi nama, metadata
dikonfigurasi menggunakan parameter dengan
Akhiran .defaultValue
).
Tabel berikut menunjukkan parameter konfigurasi metadata.
Setelan | Parameter |
Judul | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=
Judul item. Jika title.field tidak ditetapkan ke nilai, nilai untuk
title.defaultValue digunakan.
|
URL repositori sumber | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
URL item yang digunakan dalam hasil penelusuran. Anda dapat menyetel defaultValue untuk menyimpan
URL untuk seluruh repositori, misalnya jika perwakilan Anda berupa file CSV dan hanya ada satu
URL untuk setiap item. Jika sourceRepositoryUrl.field tidak ditetapkan
menjadi nilai, nilai untuk sourceRepositoryUrl.defaultValue akan digunakan.
|
Nama container | itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
Nama penampung item, seperti nama direktori atau folder sistem file. Jika containerName.field tidak ditetapkan ke nilai, yaitu nilai untuk
containerName.defaultValue digunakan.
|
Jenis objek | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=
Jenis objek yang digunakan oleh konektor, seperti yang ditentukan dalam skema. Konektor tidak akan mengindeks data terstruktur apa pun jika properti ini tidak ditentukan. Jika objectType.field tidak ditetapkan ke nilai, nilai untuk
objectType.defaultValue digunakan.
|
Waktu pembuatan | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Stempel waktu pembuatan dokumen. Jika createTime.field tidak ditetapkan ke nilai,
nilai untuk createTime.defaultValue digunakan.
|
Waktu update | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Stempel waktu perubahan terakhir untuk item. Jika updateTime.field tidak ditetapkan ke
sebuah nilai, nilai untuk updateTime.defaultValue akan digunakan.
|
Bahasa konten | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=
Bahasa konten untuk dokumen yang sedang diindeks. Jika contentLanguage.field
tidak ditetapkan ke nilai, nilai untuk contentLanguage.defaultValue akan digunakan.
|
Jenis MIME | itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=
Jenis mime asli ItemContent.content di repositori sumber. Panjang maksimum adalah 256 karakter. Jika mimeType.field tidak ditetapkan ke nilai, nilai untuk
mimeType.defaultValue digunakan.
|
Metadata kualitas penelusuran | itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=
Indikasi kualitas item, yang digunakan untuk memengaruhi kualitas penelusuran. Nilai harus antara 0,0 (kualitas terendah) dan 1,0 (kualitas tertinggi). Nilai defaultnya adalah 0.0. Jika quality.field tidak ditetapkan ke nilai, nilai untuk
quality.defaultValue digunakan.
|
Hash | itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
Nilai hashing disediakan oleh pemanggil API. Fitur ini dapat digunakan dengan Metode items.push untuk menghitung status yang diubah. Panjang maksimum adalah 2048
karakter. Jika hash.field tidak ditetapkan ke nilai, nilai untuk
hash.defaultValue digunakan.
|
Format tanggal dan waktu
Format tanggal dan waktu menentukan format yang diharapkan dalam atribut metadata. Jika file konfigurasi tidak berisi parameter ini, nilai default akan digunakan. Tabel berikut menunjukkan parameter tersebut.
Setelan | Parameter |
Format datetime tambahan | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Daftar yang dipisahkan titik koma untuk java.time.format.DateTimeFormatter tambahan
pola-pola tersebut. Pola digunakan saat mengurai nilai string untuk kolom tanggal atau waktu
dalam metadata atau skema. Nilai defaultnya adalah daftar kosong, tetapi RFC 3339 dan RFC 1123
format yang berbeda selalu didukung.
|
Data terstruktur
Cloud Search Indexing API menyediakan layanan skema yang dapat Anda gunakan untuk menyesuaikan cara Cloud Search mengindeks dan menayangkan data Anda. Jika Anda menggunakan skema repositori lokal lain, Anda harus menentukan data terstruktur lokal nama skema.
Setelan | Parameter |
---|---|
Nama skema lokal | structuredData.localSchema=mySchemaName
Nama skema dibaca dari sumber data dan digunakan untuk repositori data terstruktur. Defaultnya adalah string kosong. |
Kualitas konten dan penelusuran
Untuk repositori yang berisi kumpulan data atau konten berbasis kolom (seperti CRM, CVS, atau database), SDK mengizinkan pemformatan HTML otomatis untuk kolom data. Nama konektor menentukan kolom data di awal eksekusi konektor, dan menggunakan template konten untuk memformat setiap catatan data sebelum menguploadnya ke di Cloud Search.
Template konten menentukan tingkat kepentingan dari setiap nilai kolom untuk penelusuran.
<title>
HTML
wajib diisi dan ditetapkan sebagai prioritas tertinggi. Anda dapat
menetapkan tingkat kepentingan kualitas penelusuran untuk semua kolom konten lainnya:
tinggi, sedang, atau rendah. Setiap bidang konten yang tidak didefinisikan dalam kategori tertentu
secara {i>default<i} adalah
prioritas rendah.
Setelan | Parameter |
---|---|
Judul HTML konten | contentTemplate.templateName.title=myTitleField
Judul HTML konten dan kolom dengan kualitas penelusuran tertinggi. Parameter ini wajib diisi hanya jika Anda menggunakan template konten HTML. Nilai defaultnya adalah kosong {i>string<i}. |
Kualitas penelusuran tinggi untuk kolom konten | contentTemplate.templateName.quality.high=hField1,hField2
Kolom konten dengan prioritas penelusuran tinggi. Defaultnya adalah string kosong. |
Kualitas penelusuran sedang untuk kolom konten | contentTemplate.templateName.quality.medium=mField1,mField2
Kolom konten dengan prioritas penelusuran sedang. Defaultnya adalah string kosong. |
Kualitas penelusuran rendah untuk kolom konten | contentTemplate.templateName.quality.low=lField1,lField2
Kolom konten dengan prioritas penelusuran rendah. Defaultnya adalah string kosong. |
Kolom konten yang tidak ditentukan | contentTemplate.templateName.unmappedColumnsMode=value
Cara konektor menangani kolom konten yang tidak ditentukan. Nilai yang valid adalah:
|
Sertakan nama kolom di template HTML | contentTemplate.templateName.includeFieldName=true|false
Menentukan apakah akan menyertakan nama kolom bersama dengan data kolom di HTML
{i>template<i}. Defaultnya adalah |
Parameter yang tidak biasa ditetapkan
Anda jarang perlu menetapkan parameter yang tercantum di bagian ini. Default parameter adalah untuk performa yang optimal. Google tidak menyarankan setelan parameter ini ke nilai yang berbeda dari defaultnya tanpa persyaratan khusus dalam repositori resource.
Konfigurasi proxy
SDK memungkinkan Anda mengonfigurasi konektor Anda agar menggunakan proxy untuk koneksi keluar.
Parameter transport.proxy.hostname
dan transport.proxy.port
yang diperlukan untuk mengaktifkan transport melalui proxy. Parameter lain mungkin diperlukan
jika proxy Anda memerlukan autentikasi atau beroperasi melalui protokol SOCKS dan bukan HTTP. Jika
transport.proxy.hostname
tidak disetel, SDK tidak akan menggunakan proxy.
Setelan | Parameter |
---|---|
Hostname | transport.proxy.hostname=hostname
Nama host untuk server proxy. Parameter ini wajib ada saat menggunakan proxy. |
Port | transport.proxy.port=port
Nomor port untuk server proxy. Parameter ini wajib ada saat menggunakan proxy. |
Jenis proxy | transport.proxy.type=type
Jenis proxy. Nilai yang valid adalah:
Nilai default-nya adalah |
Nama pengguna | transport.proxy.username=username
Nama pengguna yang akan digunakan saat membuat token otorisasi proxy. Parameter ini bersifat opsional, dan hanya boleh disetel jika proxy Anda memerlukan autentikasi. |
Sandi | transport.proxy.password=password
Kata sandi yang akan digunakan saat membuat token otorisasi proxy. Parameter ini bersifat opsional, dan hanya boleh disetel jika proxy Anda memerlukan autentikasi. |
Traverser
SDK memungkinkan Anda menentukan beberapa {i>traverser<i} individual untuk memungkinkan traversal paralel dari repositori data. Konektor template SDK menggunakan aplikasi baru.
Setelan | Parameter |
---|---|
Ukuran kumpulan thread | traverse.threadPoolSize=size
Jumlah thread yang dibuat konektor untuk memungkinkan pemrosesan paralel. J iterator tunggal mengambil operasi secara serial (biasanya objek RepositoryDoc), tetapi API memanggil proses secara paralel menggunakan jumlah thread ini. Nilai default-nya adalah |
Ukuran partisi | traverse.partitionSize=batchSize
Jumlah Nilai default-nya adalah |
Permintaan polling traverser
Inti dari antrean pengindeksan Cloud Search adalah antrean prioritas yang berisi entri untuk setiap item yang diketahui. Konektor listingan dapat meminta untuk melakukan polling item dari Indexing API. Permintaan polling mendapatkan entri dengan prioritas tertinggi dari antrean pengindeksan.
Parameter berikut digunakan oleh template konektor listingan SDK untuk menentukan parameter polling.
Setelan | Parameter |
---|---|
Traverser repositori | repository.traversers=t1, t2, t3, ...
Membuat satu atau beberapa traverser individual dengan t1, t2, t3,
... adalah nama unik dari setiap komponen. Setiap traverser bernama memiliki kumpulan setelannya sendiri
yang diidentifikasi menggunakan nama unik {i>traverser<i}, seperti
|
Antrean untuk di polling | traverser.pollRequest.queue=mySpecialQueue
Antrean nama yang dipilih traverser polling ini. Defaultnya adalah string kosong (menyiratkan "default"). |
traverser.t1.pollRequest.queue=mySpecialQueue
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). |
|
Perilaku polling | traverser.pollRequest.limit=maxItems
Jumlah item maksimum yang akan ditampilkan dari permintaan polling.
Nilai defaultnya adalah |
traverser.t1.pollRequest.limit=limit
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). |
|
Status item | traverser.pollRequest.statuses=statuses
Status item tertentu yang dipilih oleh traverser polling, dengan statuses dapat berupa
kombinasi |
traverser.t1.pollRequest.statuses=statusesForThisTraverser
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). | |
Beban host | traverser.hostload=threads
Jumlah maksimum thread paralel aktif yang tersedia untuk polling. Default
nilainya adalah |
traverser.t1.hostload=threadsForThisTraverser
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). |
|
Waktu habis | traverser.timeout=timeout
Nilai waktu tunggu untuk mengganggu upaya polling traverser ini. Nilai default-nya adalah |
traverser.t1.timeout=timeoutForThisTraverser
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). |
|
traverser.timeunit=timeoutUunit
Unit waktu tunggu. Nilai yang valid adalah |
|
traverser.t1.timeunit=timeoutUnit
Jika Anda memiliki beberapa traverser, tetapkan status item untuk setiap traverser (dengan t1, mewakili traverser tertentu). |
Pada umumnya, konektor yang hanya menggunakan template konektor listingan SDK memerlukan satu set parameter untuk polling. Dalam beberapa kasus, Anda mungkin perlu tentukan lebih dari satu kriteria polling jika algoritma traversal Anda memerlukan memisahkan pemrosesan item menggunakan antrean yang berbeda, misalnya.
Dalam hal ini, Anda memiliki opsi untuk menentukan
beberapa kumpulan polling
parameter. Mulailah dengan menentukan nama
kumpulan parameter menggunakan
repository.traversers
. Untuk setiap nama traverser yang ditentukan, berikan
file konfigurasi dengan parameter dalam tabel di atas, yang menggantikan
t1
dengan nama traverser. Langkah ini akan membuat
kumpulan polling
untuk setiap traverser yang ditentukan.
Checkpoint
Checkpoint berguna untuk melacak status traversal inkremental.
Setelan | Parameter |
---|---|
Direktori checkpoint | connector.checkpointDirectory=/path/to/checkpoint
Menentukan jalur ke direktori lokal yang akan digunakan untuk checkpoint traversal inkremental dan penuh. |
Upload konten
Konten item diupload ke Cloud Search dengan item saat ukuran konten tidak melebihi ambang batas yang ditentukan. Jika ukuran konten melebihi nilai minimum, konten diupload secara terpisah dari {i>metadata<i} dan data terstruktur.
Setelan | Parameter |
---|---|
Nilai minimum konten | api.contentUploadThresholdBytes=bytes
Ambang batas untuk konten yang menentukan apakah konten diupload "in-line" atau tidak dengan item dibandingkan menggunakan unggahan terpisah. Nilai defaultnya adalah |
Container
Template konektor lengkap menggunakan algoritma yang melibatkan konsep tombol antrean sumber data sementara untuk mendeteksi record yang dihapus dalam database. Ini berarti bahwa pada setiap traversal penuh, catatan yang diambil, yang berada dalam antrean baru, mengganti semua data Cloud Search yang ada, yang diindeks dari traversal sebelumnya, yang ada di antrean lama.
Setelan | Parameter |
---|---|
Tag nama container | traverse.queueTag=instance
Untuk menjalankan beberapa instance konektor secara paralel untuk mengindeks data umum repositori (baik pada repositori data yang berbeda atau di bagian yang terpisah dari repositori data) tanpa mengganggu satu sama lain, tetapkan penampung unik tag nama untuk setiap konektor. Tag nama unik dapat mencegah konektor instance Anda agar tidak menghapus catatan orang lain. Tag nama ditambahkan ke ID antrean tombol Full Traversal Connector. |
Nonaktifkan deteksi penghapusan | traverse.useQueues=true|false
Menunjukkan apakah konektor menggunakan logika tombol antrean untuk deteksi penghapusan. Nilai defaultnya adalah Catatan: Parameter konfigurasi ini hanya berlaku untuk konektor
menerapkan template |
Kebijakan batch
SDK mendukung kebijakan batch yang memungkinkan Anda melakukan hal-hal berikut tindakan:
- Permintaan batch
- Menentukan jumlah permintaan dalam antrean batch
- Mengelola batch yang dieksekusi secara serentak
- Menghapus permintaan batch
SDK mengelompokkan permintaan konektor untuk mempercepat throughput selama upload video. Pemicu SDK untuk mengupload batch permintaan adalah dengan jumlah permintaan atau waktu tunggu, mana saja yang lebih dulu. Misalnya, jika waktu tunda batch telah berakhir tanpa mencapai ukuran tumpukan, atau jika jumlah item ukuran batch tercapai sebelum waktu tunda berakhir, kemudian upload banyak dipicu.
Setelan | Parameter |
---|---|
Permintaan batch | batch.batchSize
Mengelompokkan permintaan. Nilai default-nya adalah |
Jumlah permintaan dalam antrean batch | batch.maxQueueLength=maxQueueLength
Jumlah maksimum permintaan dalam antrean batch untuk dieksekusi.
Nilai defaultnya adalah |
Menjalankan batch secara serentak | batch.maxActiveBatches=maxActiveBatches
Jumlah batch yang diizinkan secara serentak.
Nilai default-nya adalah |
Menghapus permintaan batch secara otomatis | batch.maxBatchDelaySeconds=maxBatchDelay
Jumlah detik untuk menunggu sebelum permintaan batch
dikeluarkan secara otomatis. Tujuan
nilai defaultnya adalah |
Menghapus permintaan batch saat dimatikan | batch.flushOnShutdown=true|false
Menghapus permintaan batch selama penonaktifan layanan.
Nilai defaultnya adalah |
Pengendali pengecualian
Parameter pengendali pengecualian menentukan cara traverser melanjutkan setelahnya mengalami pengecualian.
Setelan | Parameter |
---|---|
Instruksi traverser jika terjadi error | traverse.exceptionHandler=exceptions
Cara traverser melanjutkan setelah pengecualian ditampilkan. Nilai valid adalah:
|
Waktu tunggu di antara pengecualian | abortExceptionHander.backoffMilliSeconds=backoff
Waktu backoff dalam milidetik untuk menunggu di antara pengecualian pengendali yang terdeteksi
(biasanya digunakan saat menjelajahi repositori). Nilai default-nya adalah |