Wdrażanie wtyczki Norconex HTTP Collector Indexer

Ten przewodnik jest przeznaczony dla administratorów wtyczki indeksera Norconex HTTP Collector w Google Cloud Search, czyli osób odpowiedzialnych za pobieranie, wdrażanie, konfigurowanie i utrzymywanie wtyczki indeksera. Ten przewodnik zakłada, że znasz systemy operacyjne Linux, podstawy indeksowania stron internetowych, XML oraz Norconex HTTP Collector.

Ten przewodnik zawiera instrukcje wykonywania kluczowych zadań związanych z wdrażaniem wtyczki indeksera:

  • Pobieranie oprogramowania wtyczki indeksera
  • Konfigurowanie Google Cloud Search
  • Konfigurowanie kolektora HTTP i indeksowania sieci Norconex
  • Rozpocznij indeksowanie i prześlij treści

W tym przewodniku nie znajdziesz informacji o zadaniach, które musi wykonać administrator Google Workspace, aby zmapować Google Cloud Search do modułu indeksowania Norconex HTTP Collector. Więcej informacji o tych zadaniach znajdziesz w artykule Zarządzanie zewnętrznymi źródłami danych.

Omówienie modułu indeksowania Norconex HTTP Collector w Cloud Search

Domyślnie Cloud Search może wykrywać, indeksować i wyświetlać treści z usług Google Workspace, takich jak Dokumenty Google czy Gmail. Możesz rozszerzyć zasięg Google Cloud Search o wyświetlanie treści z internetu użytkownikom. W tym celu wdróż wtyczkę indeksującego Norconex HTTP Collector, czyli internetowego robota indeksującego typu open source dla przedsiębiorstw.

Pliki właściwości konfiguracji

Aby umożliwić wtyczce indeksującej przeprowadzanie indeksowania internetu i przesyłanie treści do interfejsu indeksowania interfejsu API, jako administrator wtyczki indeksującego podaj określone informacje podczas czynności konfiguracyjnych opisanych w tym dokumencie w sekcji Etapy wdrażania.

Aby użyć wtyczki indeksującej, musisz ustawić właściwości w 2 plikach konfiguracji:

  • {gcs-crawl-config.xml} – zawiera ustawienia kolektora HTTP Norconex.
  • sdk-configuration.properties – zawiera ustawienia Google Cloud Search.

Właściwości w każdym pliku umożliwiają modułowi indeksowania Google Cloud Search i Norconex HTTP Collector komunikowanie się ze sobą.

Przeszukiwanie sieci i przesyłanie treści

Po wypełnieniu plików konfiguracji masz niezbędne ustawienia, aby rozpocząć indeksowanie stron. Norconex HTTP Collector indeksuje sieć, odkrywając treści dokumentów związane z jego konfiguracją, oraz przesyła oryginalne wersje binarne (lub tekstowe) treści dokumentów do interfejsu Cloud Search Indexing API, gdzie są indeksowane i ostatecznie udostępniane użytkownikom.

Obsługiwany system operacyjny

Wtyczka Google Cloud Search Norconex HTTP Collector indeksującego musi być zainstalowana w systemie Linux.

Obsługiwana wersja Norconex HTTP Collector

Wtyczka indeksera Norconex HTTP Collector do Google Cloud Search obsługuje wersję 2.8.0.

Obsługa list ACL

Wtyczka indeksera umożliwia kontrolowanie dostępu do dokumentów w domenie Google Workspace za pomocą list kontroli dostępu (ACL).

Jeśli domyślne listy kontroli dostępu są włączone w konfiguracji wtyczki Google Cloud Search (defaultAcl.mode ma wartość inną niż none i skonfigurowano za pomocą defaultAcl.*), wtyczka indeksującego najpierw próbuje utworzyć i zastosować domyślną listę kontroli dostępu.

Jeśli domyślne listy kontroli dostępu nie są włączone, wtyczka przywraca uprawnienia do odczytu całej domenie Google Workspace.

Szczegółowe opisy parametrów konfiguracji listy kontroli dostępu (ACL) znajdziesz w artykule Parametry oprogramowania sprzęgającego dostarczone przez Google.

Wymagania wstępne

Zanim wdrożysz wtyczkę indeksującego, sprawdź, czy masz te wymagane komponenty:

  • Środowisko Java JRE 1.8 zainstalowane na komputerze, na którym działa wtyczka indeksująca
  • Informacje Google Workspace wymagane do ustanowienia relacji między Cloud Search a Norconex HTTP Collector:

    Zwykle administrator Google Workspace w domenie może udostępnić te dane.

Etapy wdrażania

Aby wdrożyć wtyczkę indeksatora:

  1. Instalowanie oprogramowania Norconex HTTP Collector i wtyczki indeksującej
  2. Konfigurowanie Google Cloud Search
  3. Konfigurowanie modułu Norconex HTTP Collector
  4. Konfigurowanie indeksowania sieci
  5. Rozpoczęcie indeksowania i przesyłania treści

Krok 1. Zainstaluj Norconex HTTP Collector i wtyczkę indeksującą

  1. Pobierz oprogramowanie Norconex commiter ze strony.
  2. rozpakuj pobrane oprogramowanie do folderu ~/norconex/,
  3. Sklonuj wtyczkę zatwierdzającą z GitHuba. git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git, a następnie cd norconex-committer-plugin
  4. Wypakuj żądaną wersję wtyczki commiter i wygeneruj plik ZIP:git checkout tags/v1-0.0.3 i mvn package (aby pominąć testy podczas generowania złącza, użyj opcji mvn package -DskipTests).
  5. cd target
  6. Skopiuj wygenerowany plik JAR wtyczki do katalogu lib norconex. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. Rozpakuj właśnie utworzony plik ZIP, a następnie rozpakuj go: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
  8. Uruchom skrypt instalacyjny, aby skopiować plik .jar wtyczki i wszystkie wymagane biblioteki do katalogu http-collector:
    1. Zmień wyodrębnioną wtyczkę commitera, która została rozpakowana powyżej: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. Wykonaj polecenie $ sh install.sh i gdy pojawi się prośba, podaj pełną ścieżkę do norconex/norconex-collector-http-{version}/lib jako katalogu docelowego.
    3. Jeśli zostaną znalezione zduplikowane pliki jar, wybierz opcję 1 (Kopiuj tylko źródłowy plik jar, jeśli jego wersja jest nowsza lub taka sama jak docelowa po zmianie nazwy).

Krok 2. Skonfiguruj wyszukiwarkę Google Cloud

Aby umożliwić indeksatorowi połączenie z Norconex HTTP Collector i zaindeksowanie odpowiednich treści, musisz utworzyć plik konfiguracji Cloud Search w katalogu Norconex, w którym zainstalowany jest Norconex HTTP Collector. Google zaleca nazwę pliku konfiguracji Cloud Search sdk-configuration.properties.

Plik konfiguracji musi zawierać pary klucz-wartość, które definiują parametr. Plik konfiguracji musi określać co najmniej poniższe parametry, które są niezbędne do uzyskania dostępu do źródła danych Cloud Search.

Ustawienie Parametr
Identyfikator źródła danych api.sourceId = 1234567890abcdef
Wymagane. Identyfikator źródła Cloud Search skonfigurowany przez administratora Google Workspace.
Konto usługi api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Wymagane. Plik klucza konta usługi Cloud Search utworzony przez administratora Google Workspace na potrzeby dostępności wtyczki indeksera.

Poniższy przykład zawiera plik sdk-configuration.properties.

#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#

Plik konfiguracji może też zawierać parametry konfiguracji dostarczone przez Google. Te parametry mogą wpływać na sposób przesyłania danych przez ten wtyczek do interfejsu Google Cloud Search API. Na przykład zestaw parametrów batch.* określa sposób, w jaki oprogramowanie sprzęgające łączy żądania.

Jeśli nie zdefiniujesz parametru w pliku konfiguracyjnym, zostanie użyta wartość domyślna (jeśli jest dostępna). Szczegółowe opisy poszczególnych parametrów znajdziesz w artykule Parametry usługi łącznika dostarczanej przez Google.

Możesz skonfigurować wtyczkę indeksatora, aby wypełniała metadane i uporządkowane dane dla indeksowanego treści. Wartości do wypełnienia pól metadanych i uporządkowanych danych można wyodrębnić z metatagów w indeksowanej treści HTML lub określić wartości domyślne w pliku konfiguracji.

Ustawienie Parametr
Tytuł itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Domyślnie wtyczka używa HTML title jako tytułu zindeksowanego dokumentu. W przypadku braku tytułu możesz odnieść się do atrybutu metadanych zawierającego wartość odpowiadającą tytułowi dokumentu lub ustawić wartość domyślną.
Sygnatura czasowa utworzenia itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Atrybut metadanych zawierający wartość sygnatury czasowej utworzenia dokumentu.
Czas ostatniej modyfikacji itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Atrybut metadanych zawierający wartość sygnatury czasowej ostatniej modyfikacji dokumentu.
Język dokumentów itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Język treści w dokumentach indeksowanych.
Typ obiektu schematu itemMetadata.objectType=movie
Typ obiektu używany przez witrynę, zdefiniowany w definicjach obiektów schematu źródła danych. Jeśli ta właściwość nie zostanie określona, oprogramowanie sprzęgające nie zindeksuje żadnych uporządkowanych danych.

Uwaga: ta właściwość konfiguracji wskazuje wartość, a nie atrybut metadanych. Nie są obsługiwane sufiksy .field i .defaultValue.

Formaty daty i godziny

Formaty daty i godziny określają formaty, które powinny być stosowane w atrybutach metadanych. Jeśli plik konfiguracji nie zawiera tego parametru, używane są wartości domyślne. Parametr ten jest widoczny w tabeli poniżej.

Ustawienie

Parametr

Dodatkowe wzorce daty i godziny

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

Lista dodatkowych wzorów java.time.format.DateTimeFormatter rozdzielona średnikami. Te wzorce są używane podczas analizowania wartości ciągu znaków w polach daty lub daty i godziny w metadanych lub schemacie. Wartością domyślną jest pusta lista, ale formaty RFC 3339 i RFC 1123 są zawsze obsługiwane.

Krok 3. Skonfiguruj Norconex HTTP Collector

Archiwum ZIP norconex-committer-google-cloud-search-{version}.zipzawiera przykładowy plik konfiguracji minimum-config.xml.

Google zaleca rozpoczęcie konfiguracji od skopiowania przykładowego pliku:

  1. Przejdź do katalogu Norconex HTTP Collector:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. Skopiuj plik konfiguracji:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. Zmodyfikuj nowo utworzony plik (w tym przykładzie gcs-crawl-config.xml) i dodaj lub zastąp istniejące węzły <committer><tagger> zgodnie z opisem w tabeli poniżej.
Ustawienie Parametr
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

Wymagane. Aby włączyć wtyczkę, musisz dodać węzeł <committer> jako węzeł podrzędny węzła <httpcollector>.
<UploadFormat> <uploadFormat>raw</uploadFormat>
Opcjonalnie. Format, w którym wtyczka indeksera przesyła zawartość dokumentu do interfejsu Google Cloud Search Indexer API. Prawidłowe wartości to:
  • raw: wtyczka indeksera przesyła oryginalną, nieprzetworzoną treść dokumentu.
  • text: wtyczka indeksatora przesyła wyodrębnione treści tekstowe.

Wartość domyślna to raw.
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
Wymagane, jeśli wartość parametru <UploadFormat> to raw. W takim przypadku moduł indeksowania musi mieć dostęp do pola binarnej zawartości dokumentu.

Musisz dodać węzeł BinaryContentTagger <tagger> jako element podrzędny węzła <importer> / <preParseHandlers>.

Poniższy przykład pokazuje wymaganą modyfikację gcs-crawl-config.xml.

<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
    <configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
    
    <uploadFormat>raw</uploadFormat>
</committer>
<importer>
  <preParseHandlers>
    <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
  </preParseHandlers>
</importer>

Krok 4. Skonfiguruj indeksowanie

Zanim rozpoczniesz indeksowanie, musisz skonfigurować indeksowanie tak, aby obejmowało tylko informacje, które Twoja organizacja chce udostępnić w wynikach wyszukiwania. Najważniejsze ustawienia indeksowania stron internetowych znajdują się w węzłach <crawler> i mogą obejmować:

  • Początkowe adresy URL
  • Maksymalna głębokość indeksowania
  • Liczba wątków

Zmień te wartości konfiguracji zgodnie ze swoimi potrzebami. Bardziej szczegółowe informacje o konfigurowaniu indeksowania stron internetowych oraz pełna lista dostępnych parametrów konfiguracji znajdziesz na stronie Konfiguracja kolektora HTTP.

Krok 5. Rozpocznij indeksowanie i przesyłanie treści

Po zainstalowaniu i skonfigurowaniu wtyczki indeksera możesz ją uruchomić w trybie lokalnym.

W tym przykładzie zakładamy, że wymagane komponenty znajdują się w lokalnym katalogu w systemie Linux. Uruchom to polecenie:

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

Monitorowanie robota za pomocą narzędzia JEF Monitor

Monitor Norconex JEF (Job Execution Framework) to narzędzie graficzne służące do monitorowania postępów procesów i zadań programu Norconex Web Crawler (HTTP Collector). Pełny samouczek dotyczący konfigurowania tego narzędzia znajdziesz w artykule Monitorowanie postępów robota za pomocą narzędzia JEF Monitor.