Anda dapat menyiapkan Google Cloud Search untuk menayangkan konten web kepada pengguna dengan men-deploy plugin pengindeks Cloud Search untuk Apache Nutch, yaitu sebuah crawler web open source.
Saat Anda memulai crawl web, Apache Nutch akan melakukan crawl web dan menggunakan plugin pengindeks untuk mengupload versi biner (atau teks) asli dari konten dokumen ke Google Cloud Search API. Cloud Search API mengindeks konten dan menayangkan hasilnya kepada pengguna Anda.
Pertimbangan penting
Sebelum men-deploy plugin pengindeks, perhatikan pertimbangan berikut.
Persyaratan sistem
| Persyaratan sistem | |
|---|---|
| Sistem operasi | Khusus Linux:
|
| Software |
|
| Jenis dokumen Apache Tika | Format dokumen yang didukung Apache Tika 1.18 |
Men-deploy plugin pengindeks
Langkah-langkah ini menjelaskan cara menginstal plugin pengindeks dan mengonfigurasi komponennya untuk meng-crawl URL dan menampilkan hasil ke Cloud Search.
Prasyarat
Sebelum men-deploy plugin pengindeks, kumpulkan informasi yang diperlukan untuk menghubungkan Cloud Search dan sumber data:
- Kunci pribadi Google Workspace (yang berisi ID akun layanan). Untuk mengetahui informasi tentang cara mendapatkan kunci pribadi, buka Mengonfigurasi akses ke Cloud Search API.
- ID sumber data Google Workspace. Untuk mengetahui informasi tentang cara mendapatkan ID sumber data, buka Menambahkan sumber data untuk penelusuran.
Langkah 1: Buat dan instal software plugin dan Apache Nutch
Clone repositori plugin pengindeks dari GitHub.
$ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git $ cd apache-nutch-indexer-plugin
Periksa versi plugin pengindeks yang Anda inginkan:
$ git checkout tags/v1-0.0.5
Buat plugin pengindeks.
$ mvn package
Untuk melewati pengujian saat membangun plugin, gunakan
mvn package -DskipTests.Download Apache Nutch 1.15 dan ikuti petunjuk penginstalan Apache Nutch.
Ekstrak
target/google-cloudsearch-apache-nutch-indexer-plugin-v1.0.0.5.zipke folder. Salin folderplugins/indexer-google-cloudsearchke folder Apache Nutchplugins(apache-nutch-1.15/plugins).
Langkah 2: Konfigurasi plugin pengindeks
Untuk mengonfigurasi plugin, buat file bernama plugin-configuration.properties.
File konfigurasi harus menentukan parameter berikut untuk mengakses sumber data Cloud Search.
| Setelan | Parameter |
| ID sumber data | api.sourceId = 1234567890abcdef
Wajib diisi. ID sumber Cloud Search yang disiapkan oleh administrator Google Workspace untuk plugin pengindeks. |
| Akun layanan | api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Wajib diisi. File kunci akun layanan Cloud Search yang dibuat oleh administrator Google Workspace untuk aksesibilitas plugin pengindeks. |
Contoh berikut menunjukkan contoh file konfigurasi:
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
File konfigurasi juga dapat berisi parameter yang mengontrol perilaku plugin, seperti cara plugin mengirim data ke Cloud Search API, dan cara plugin mengisi metadata dan data terstruktur. Untuk mengetahui deskripsi parameter ini, lihat Parameter konektor yang disediakan Google.
Langkah 3: Konfigurasikan Apache Nutch
Buka
conf/nutch-site.xmldan tambahkan parameter berikut:Setelan Parameter Plugin mencakup plugin.includes = textWajib. Daftar plugin yang digunakan. Hal ini setidaknya harus mencakup:
- index-basic
- index-more
- indexer-google-cloudsearch
conf/nutch-default.xmlmemberikan nilai default, tetapi Anda harus menambahkanindexer-google-cloudsearchke dalamnya secara manual.Nama metatag metatags.names = textOpsional. Daftar tag yang dipisahkan dengan koma yang memetakan ke properti di skema sumber data yang sesuai. Untuk mempelajari lebih lanjut, lihat Tag meta Nutch-parse.
Contoh berikut menunjukkan modifikasi yang diperlukan untuk
nutch-site.xml:<property> <name>plugin.includes</name> <value>protocol-(http|httpclient)|urlfilter-regex|index-(basic|more|metadata)|query-(basic|site|url|lang)|indexer-google-cloudsearch|nutch-extensionpoints|parse-(text|html|msexcel|msword|mspowerpoint|pdf|metatags)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-(html|tika|metatags)|index-(basic|anchor|more|metadata)</value> </property>Buka
conf/index-writers.xmldan tambahkan bagian berikut:<writer id="indexer_google_cloud_search_1" class="org.apache.nutch.indexwriter.gcs.GoogleCloudSearchIndexWriter"> <parameters> <param name="gcs.config.file" value="path/to/sdk-configuration.properties"/> </parameters> <mapping> <copy /> <rename /> <remove /> </mapping> </writer>Bagian
<writer>berisi parameter berikut:Setelan Parameter Jalur ke file konfigurasi Cloud Search gcs.config.file = pathWajib. Jalur lengkap (absolut) ke file konfigurasi Cloud Search.
Format upload gcs.uploadFormat = textOpsional. Format yang digunakan plugin untuk mendorong konten dokumen ke Cloud Search API. Nilai yang valid adalah:
raw: mendorong konten asli yang belum dikonversi.text: mendorong konten tekstual yang diekstrak. Defaultnya adalahraw.
Langkah 4: Konfigurasikan crawl web
Sebelum memulai crawl web, konfigurasikan crawl agar hanya menyertakan informasi yang ingin disediakan oleh organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat tutorial Nutch.
Siapkan URL mulai.
URL mulai mengontrol lokasi web crawler saat mulai meng-crawl konten Anda. Crawler harus dapat menjangkau semua konten yang ingin Anda sertakan dengan mengikuti link.
Untuk menyiapkan URL mulai:
- Ubah ke direktori penginstalan Nutch:
$ cd ~/nutch/apache-nutch-X.Y/
- Buat direktori untuk URL:
$ mkdir urls
- Buat file bernama
seed.txtdan cantumkan satu URL per baris.
- Ubah ke direktori penginstalan Nutch:
Siapkan aturan ikuti dan jangan ikuti.
Aturan ikuti URL mengontrol URL mana yang diindeks oleh crawler. Aturan jangan ikuti tidak meng-crawl URL.
Untuk menyiapkan aturan ini:
- Ubah ke direktori penginstalan Nutch.
- Edit
conf/regex-urlfilter.txt:$ nano conf/regex-urlfilter.txt
Masukkan ekspresi reguler dengan awalan "+" atau "-":
# skip file extensions -\.(gif|GIF|jpg|JPG|png|PNG|ico) # skip protocols (file: ftp: and mailto:) -^(file|ftp|mailto): # allow urls starting with https://support.google.com/gsa/ +^https://support.google.com/gsa/ # accept anything else #+.
Edit skrip crawl.
Jika parameter
gcs.uploadFormattidak ada atau ditetapkan ke "raw", Anda harus menambahkan argumen-addBinaryContent -base64ke perintahnutch index. Argumen ini memberi tahu modul Pengindeks Nutch untuk memasukkan konten biner di Base64.- Buka skrip
crawldiapache-nutch-1.15/bin. Tambahkan opsi seperti yang ditunjukkan dalam contoh ini:
if $INDEXFLAG; then echo "Indexing $SEGMENT to index" __bin_nutch index $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb -addBinaryContent -base64 -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT echo "Cleaning up index if possible" __bin_nutch clean $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb else echo "Skipping indexing ..."
- Buka skrip
Langkah 5: Mulai crawl web dan upload konten
Setelah menyiapkan plugin pengindeks, Anda dapat menjalankannya dalam mode lokal. Gunakan skrip
dari ./bin untuk menjalankan tugas crawling.
Contoh berikut mengasumsikan komponen berada di direktori lokal. Jalankan Nutch
dari direktori apache-nutch-1.15:
$ bin/crawl -i -s urls/ crawl-test/ 5
Log crawl tersedia di terminal atau direktori logs/. Untuk mengarahkan output logging, edit conf/log4j.properties.