Google Cloud Search'ü, açık kaynak web tarayıcısı olan Apache Nutch için Google Cloud Search dizinleyici eklentisini dağıtarak kullanıcılarınıza web içeriği sunacak şekilde ayarlayabilirsiniz.
Web taramasını başlattığınızda, Apache Nutch web'i tarar ve belge içeriğinin orijinal ikili (veya metin) sürümlerini Google Cloud Search dizine ekleme API'sine yüklemek için dizinleyici eklentisini kullanır. Dizine ekleme API'si içeriği dizine ekler ve sonuçları kullanıcılarınıza sunar.
Dikkat edilmesi gerekenler
Sistem gereksinimleri
Sistem gereksinimleri | |
---|---|
İşletim sistemi | Yalnızca Linux:
|
Yazılım |
|
Apache Tika belge türleri | Apache Tika 1.18'in desteklediği belge biçimleri |
Dizine ekleme eklentisini dağıtma
Aşağıdaki adımlarda, dizinleyici eklentisinin nasıl yükleneceği ve belirtilen URL'leri tarayıp sonuçları Cloud Search'e döndürecek şekilde bu eklentinin bileşenlerini nasıl yapılandıracağınız açıklanmaktadır.
Ön koşullar
Cloud Search Apache Nutch dizinleyici eklentisini dağıtmadan önce Google Cloud Search ile veri kaynağını bağlamak için gereken bilgileri toplayın:
- Google Workspace özel anahtarı (hizmet hesabı kimliğini içerir). Özel anahtar edinmeyle ilgili bilgi için şuraya gidin: Google Cloud Search API'ye erişimi yapılandırın.
- Google Workspace veri kaynağı kimliği. Veri kaynağı kimliği edinme hakkında bilgi için şu sayfaya gidin: Arama yapmak için bir veri kaynağı ekleyin.
1. Adım: Eklenti yazılımını ve Apache Nutch'u derleyip yükleyin
GitHub'dan dizin oluşturma eklentisi deposunu klonlayın.
$ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git $ cd apache-nutch-indexer-plugin
Dizine ekleme eklentisinin istediğiniz sürümünü kontrol edin:
$ git checkout tags/v1-0.0.5
Dizine ekleme eklentisini oluşturun.
$ mvn package
Dizine dönüştürücü eklentisi oluştururken testleri atlamak için
mvn package -DskipTests
işlevini kullanın.Apache Nutch 1.15'i indirin ve Apache Nutch yükleme talimatlarını uygulayın.
target/google-cloudsearch-apache-nutch-indexer-plugin-v1.0.0.5.zip
öğesini (2. adımda yerleşiktir) bir klasöre çıkarın.plugins/indexer-google-cloudsearch
klasörünü, Apache Nutch yükleme eklentileri klasörüne (apache-nutch-1.15/plugins
) kopyalayın.
2. Adım: Dizine ekleme eklentisini yapılandırın
Apache Nutch Indexer eklentisini yapılandırmak için plugin-configuration.properties
adlı bir dosya oluşturun.
Yapılandırma dosyası, şu parametreleri belirtmelidir: Google Cloud Search veri kaynağına erişmek için gereklidir.
Yer | Parametre |
Veri kaynağı kimliği | api.sourceId = 1234567890abcdef
Zorunlu. Google Workspace yöneticisinin dizinleyici eklentisi için oluşturduğu Google Cloud Search kaynak kimliği. |
Hizmet hesabı | api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Zorunlu. Google Workspace yöneticisinin dizinleyici eklentisi erişilebilirliği için oluşturduğu Google Cloud Search hizmet hesabı anahtar dosyası. |
Aşağıdaki örnekte, gerekli parametreleri içeren örnek bir yapılandırma dosyası gösterilmektedir.
#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#
Yapılandırma dosyası, dizinleyici eklentisinin davranışını kontrol eden diğer parametreleri de içerebilir. Etiketin
eklentisi, verileri Cloud Search API, defaultAcl.*
ve batch.*
'ye aktarır. Dizine ekleme eklentisinin meta verileri ve yapılandırılmış verileri nasıl dolduracağını da yapılandırabilirsiniz.
Bu parametrelerin açıklamaları için Google'ın sağladığı bağlayıcı parametreleri.
3. Adım: Apache Nutch'u yapılandırın
conf/nutch-site.xml
uygulamasını açın ve aşağıdaki parametreleri ekleyin:Yer Parametre Eklentinin içeriği plugin.includes = text
Zorunlu. Kullanılacak eklentilerin listesi. Bu, en az aşağıdaki bilgileri içermelidir:
- index-basic
- diğer-dizine ekle
- indexer-google-cloudsearch
conf/nutch-default.xml
, bu özellik için varsayılan bir değer sağlar, ancak buna manuel olarakindexer-google-cloudsearch
eklemeniz de gerekir.Meta etiket adları metatags.names = text
İsteğe bağlı. Şuradaki tesislerle eşleşen etiketlerin virgülle ayrılmış listesi: ilgili veri kaynağının şemasını kullanır. Meta etiketler için Apache Nutch'u nasıl ayarlayacağınız hakkında daha fazla bilgi edinmek üzere Nutch ayrıştırma meta etiketleri.
Aşağıdaki örnekte,
nutch-site.xml
için yapılması gereken değişiklik gösterilmektedir:<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>
conf/index-writers.xml
sayfasını açın ve aşağıdaki bölümü ekleyin:<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>
<writer> bölümü aşağıdaki parametreleri içerir:
Yer Parametre Google Cloud Search yapılandırma dosyasının yolu gcs.config.file = path
Zorunlu. Google Cloud Search yapılandırma dosyasının tam (mutlak) yolu.
Yükleme biçimi gcs.uploadFormat = text
İsteğe bağlı. Dizine ekleme eklentisinin, doküman içeriğini Google Cloud Search dizinleyici API'sine aktarma biçimi. Geçerli değerler şunlardır:
raw
: Dizine ekleme eklentisi orijinal, dönüştürülmemiş doküman içeriğini aktarır.text
: Dizine ekleme eklentisi, ayıklanmış metin içeriklerini aktarır. Varsayılan değerraw
değeridir.
4. Adım: Web taramasını yapılandırın
Bir web taraması başlatmadan önce, taramayı yalnızca kuruluşunuzun aramada kullanılabilir hale getirmek istediği bilgileri içerecek şekilde yapılandırın sonuç. Bu bölümde genel bakış sunulmaktadır; web taramasını ayarlama hakkında daha fazla bilgi için Nutch eğitimi.
Başlangıç URL'lerini ayarlayın.
Başlangıç URL'leri, Apache Nutch web tarayıcısının verilerinizi içerik. Başlangıç URL'leri, web tarayıcısının ulaşmak istediğiniz tüm içeriğe erişmesini sağlamalıdır. belirli bir taramaya dahil etmek için bağlantıları ziyaret edin. Başlangıç URL'leri gereklidir.
Başlangıç URL'lerini ayarlamak için:
Çalışma dizinini nutch yükleme diziniyle değiştirin:
$ cd ~/nutch/apache-nutch-X.Y/
URL'ler için bir dizin oluşturun:
$ mkdir urls
seed.txt
adında bir dosya oluşturun ve dosyadaki URL'leri, her satırda 1 URL olacak şekilde listeleyin.
İzleme ve izlememe kuralları oluşturabilirsiniz.
URL kurallarını takip et, hangi URL'lerin taranıp Google Cloud Search dizinine dahil edileceğini kontrol eder. Web tarayıcısı, URL'leri URL kurallarına uymalısınız. Yalnızca bu kurallarla eşleşen URL'ler taranıp dizine eklenir.
Takip etme kuralları, URL'lerin taranmasını ve Google Cloud Search dizinine eklenmesini engeller. Bir URL "tarama modeli" içeriyorsa web tarayıcısı taramaz.
Takip et ve izlemeyen URL kuralları oluşturmak için:
Çalışma dizinini nutch yükleme diziniyle değiştirin:
$ cd ~/nutch/apache-nutch-X.Y/
Takip et/takip etme kurallarını değiştirmek için
conf/regex-urlfilter.txt
öğesini düzenleyin: \$ nano conf/regex-urlfilter.txt
"+" ile normal ifadeler girin veya "-" önekini kullanarak URL kalıplarını ve uzantılarını örneklere göz atın. Açık uçlu ifadelere izin verilir.
# 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 # (commented out due to the single url-prefix allowed above) #+.
Tarama komut dosyasını düzenleyin.
gcs.uploadFormat
parametresi eksikse veya "raw" olarak ayarlanmışsa eklemeniz gerekiyor "-addBinaryContent -base64
"nutch index
öğesine aktarılacak bağımsız değişkenler komutuna dokunun. Bu bağımsız değişkenler, Nutch Indexer modülüne ikili içerik içermesini bildirir tarafından dizine eklenir. ./bin/Scan komut dosyasında varsayılan olarak ayarlanır.crawl
komut dosyasınıapache-nutch-1.15/bin
uygulamasında aç.-addBinaryContent -base64
seçeneklerini aşağıdaki örnekte gösterildiği gibi komut dosyasına ekleyin: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 ..."
5. Adım: Web taraması ve içerik yükleme başlatın
Dizine ekleme eklentisini yükleyip ayarladıktan sonra, eklentiyi
yerel modda çalışır. Bir tarama işi yürütmek için ./bin
komut dosyalarını kullanın veya
bağımsız Nutch komutlarını kullanabilirsiniz.
Aşağıdaki örnekte, gerekli bileşenlerin yerel
dizin. apache-nutch-1.15
dizininden aşağıdaki komutla Nutch'u çalıştırın:
$ bin/crawl -i -s urls/ crawl-test/ 5
Tarama günlükleri, std çıkışında (terminal) veya logs/
dizininde kullanılabilir. Alıcı:
günlük çıkışını yönlendirme veya daha ayrıntılı günlük kaydı için
conf/log4j.properties