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 programu Norconex HTTP Collector i przeszukiwania sieci
  • 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, aby obejmował on wyświetlanie treści internetowych użytkownikom, wdrażając wtyczkę indeksatora dla Norconex HTTP Collector, czyli skanera internetowego typu open source dla przedsiębiorstw.

Pliki właściwości konfiguracji

Aby umożliwić indekserowi indeksowanie stron internetowych i przesyłanie treści do interfejsu indeksowania API, jako administrator tego modułu musisz podać określone informacje podczas konfiguracji opisanej w tym dokumencie w sekcji Kroki wdrożenia.

Aby używać wtyczki indeksatora, musisz ustawić właściwości w 2 plikach konfiguracyjnych:

  • {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 indeksera Norconex HTTP Collector do Google Cloud Search 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 ACL są włączone w konfiguracji wtyczki Google Cloud Search (defaultAcl.mode ma wartość inną niż none i jest skonfigurowana za pomocą defaultAcl.*), najpierw próbuje utworzyć i zastosować domyślną listę ACL.

Jeśli domyślne listy ACL nie są włączone, wtyczka przypisuje uprawnienia do odczytu całej domenie Google Workspace.

Szczegółowe opisy parametrów konfiguracji ACL znajdziesz w artykule Parametry usługi łącznika dostarczanej przez Google.

Wymagania wstępne

Zanim wdrożysz wtyczkę indeksatora, upewnij się, że masz te wymagane komponenty:

  • środowisko wykonawcze Java JRE 1.8 zainstalowane na komputerze, na którym działa wtyczka indeksatora;
  • 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. Zainstaluj Norconex HTTP Collector i wtyczkę indeksującą
  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ę commiter z GitHuba. git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git a potem 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. Wyodrębnij utworzony właśnie plik ZIP, a potem go rozpakuj: 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 $ sh install.sh i w odpowiednim momencie podaj pełną ścieżkę do norconex/norconex-collector-http-{version}/lib jako katalog docelowy.
    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, aby plik konfiguracji Cloud Search otrzymał nazwę sdk-configuration.properties.

Plik konfiguracji musi zawierać pary klucz-wartość, które definiują parametr. Plik konfiguracji musi zawierać co najmniej te 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 pokazuje 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, jak usługa łą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, które mają być wypełniane w polach metadanych i uporządkowanych danych, można wyodrębnić z metatagów w indeksowanym treści HTML lub można 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 wartości HTML title jako tytułu indeksowanego 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 dokumentu 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 jest określona, usługa sprzęgająca nie będzie indeksować ż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 oczekiwane 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}.zip zawiera 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 ono tylko informacje, które Twoja organizacja chce udostępniać 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. Więcej informacji o konfigurowaniu indeksowania stron internetowych oraz pełną listę dostępnych parametrów konfiguracji znajdziesz na stronie Konfiguracja w usłudze HTTP Collector.

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ą monitora JEF

Norconex JEF (Job Execution Framework) Monitor to narzędzie graficzne do monitorowania postępu procesów i zadań 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.