Ten przewodnik jest przeznaczony dla administratorów łącznika Google Cloud Search CSV (wartości rozdzielone przecinkami), czyli osób odpowiedzialnych za pobieranie, konfigurowanie, uruchamianie i monitorowanie łącznika.
Ten przewodnik zawiera instrukcje wykonywania kluczowych zadań związanych z wdrażaniem konektora CSV:
- Pobierz oprogramowanie sprzęgające CSV Google Cloud Search
- Konfigurowanie oprogramowania sprzęgającego do używania z określonym źródłem danych CSV
- Wdrażanie i uruchamianie oprogramowania sprzęgającego
Aby zrozumieć pojęcia opisane w tym dokumencie, musisz znać podstawy Google Workspace, plików CSV i list kontroli dostępu (ACL).
Omówienie oprogramowania sprzęgającego CSV Google Cloud Search
Oprogramowanie sprzęgające CSV Cloud Search działa z dowolnym plikiem tekstowym CSV. Plik CSV przechowuje dane tabelaryczne, a każdy wiersz pliku jest rekordem danych.
Oprogramowanie sprzęgające CSV w Google Cloud Search wyodrębnia poszczególne wiersze z pliku CSV i indeksuje je w Cloud Search za pomocą interfejsu Cloud Search Indexing API. Po pomyślnym zindeksowaniu poszczególne wiersze z plików CSV można wyszukiwać za pomocą klientów Cloud Search lub interfejsu Cloud Search Query API. Łącznik CSV umożliwia też kontrolowanie dostępu użytkowników do treści w wynikach wyszukiwania za pomocą list ACL.
Oprogramowanie sprzęgające CSV Google Cloud Search można zainstalować w systemie Linux lub Windows. Zanim wdrożysz łącznik CSV Google Cloud Search, upewnij się, że masz te wymagane komponenty:
- Java JRE 1.8 zainstalowana na komputerze, na którym działa oprogramowanie sprzęgające Google Cloud Search CSV
Informacje o Google Workspace wymagane do nawiązania relacji między Google Cloud Search a źródłem danych:
- Klucz prywatny Google Workspace (zawierający identyfikator konta usługi)
- Identyfikator źródła danych Google Workspace
Zazwyczaj dane logowania może Ci przekazać administrator Google Workspace w domenie.
Etapy wdrażania
Aby wdrożyć oprogramowanie sprzęgające CSV Google Cloud Search, wykonaj te czynności:
- Instalowanie oprogramowania łącznika CSV Google Cloud Search
- Określanie konfiguracji oprogramowania sprzęgającego CSV
- Konfigurowanie dostępu do źródła danych Google Cloud Search
- Konfigurowanie dostępu do pliku CSV
- Określ nazwy kolumn do indeksowania, kolumny kluczy unikalnych i kolumny daty i godziny
- Określanie kolumn do użycia w adresach URL wyników wyszukiwania, które można kliknąć
- Określanie informacji o metadanych i formatów kolumn
- Planowanie przechodzenia po danych
- Określanie opcji listy kontroli dostępu (ACL)
1. Instalowanie pakietu SDK
Zainstaluj pakiet SDK w lokalnym repozytorium Maven.
Sklonuj repozytorium SDK z GitHub.
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk/csv
Sprawdź wybraną wersję pakietu SDK:
$ git checkout tags/v1-0.0.3
Utwórz oprogramowanie sprzęgające:
$ mvn package
Skopiuj plik ZIP oprogramowania sprzęgającego do lokalnego katalogu instalacyjnego:
$ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip $ cd google-cloudsearch-csv-connector-v1-0.0.3
2. Określanie konfiguracji łącznika CSV
Jako administrator oprogramowania sprzęgającego możesz kontrolować jego działanie i atrybuty definiujące parametry w pliku konfiguracyjnym oprogramowania sprzęgającego. Parametry, które można konfigurować:
- Dostęp do źródła danych
- Lokalizacja pliku CSV
- Definicje kolumn CSV
- Kolumny, które definiują unikalny identyfikator
- Opcje przechodzenia
- Opcje list ACL ograniczające dostęp do danych
Aby łącznik miał prawidłowy dostęp do pliku CSV i indeksował odpowiednie treści, musisz najpierw utworzyć jego plik konfiguracyjny.
Aby utworzyć plik konfiguracji:
- Otwórz wybrany edytor tekstu i nadaj nazwę plikowi konfiguracji.
Dodaj do zawartości pliku pary klucz=wartość zgodnie z opisem w tych sekcjach. - Zapisz i nazwij plik konfiguracji.
Google zaleca nadanie plikowi konfiguracji takiej nazwy,connector-config.properties
aby do uruchomienia oprogramowania sprzęgającego nie były potrzebne żadne dodatkowe parametry wiersza poleceń.
Ścieżkę do pliku konfiguracyjnego możesz podać w wierszu poleceń, więc standardowa lokalizacja pliku nie jest konieczna. Plik konfiguracyjny należy jednak przechowywać w tym samym katalogu co łącznik, aby ułatwić śledzenie i uruchamianie łącznika.
Aby mieć pewność, że oprogramowanie sprzęgające rozpozna plik konfiguracji, określ jego ścieżkę w wierszu poleceń. W przeciwnym razie łącznik używa znaku connector-config.properties
w katalogu lokalnym jako domyślnej nazwy pliku. Informacje o tym, jak określić ścieżkę konfiguracji w wierszu poleceń, znajdziesz w artykule Uruchamianie programu sprzęgającego CSV Cloud Search.
3. Konfigurowanie dostępu do źródła danych Google Cloud Search
Pierwsze parametry, które musi określać każdy plik konfiguracyjny, to te, które są niezbędne do uzyskania dostępu do źródła danych Cloud Search. Zostały one przedstawione w tej tabeli. Aby skonfigurować dostęp łącznika do Cloud Search, zwykle potrzebujesz identyfikatora źródła danych, identyfikatora konta usługi i ścieżki do pliku klucza prywatnego konta usługi. Czynności wymagane do skonfigurowania źródła danych są opisane w artykule Zarządzanie zewnętrznymi źródłami danych.
Ustawienie | Parametr |
Identyfikator źródła danych | api.sourceId=1234567890abcdef
Wymagany. Identyfikator źródła Google Cloud Search skonfigurowany przez administratora Google Workspace zgodnie z opisem w artykule Zarządzanie źródłami danych innych firm. |
Ścieżka do pliku klucza prywatnego konta usługi | api.serviceAccountPrivateKeyFile=./PrivateKey.json
Wymagany. Plik klucza konta usługi Google Cloud Search zapewniający dostępność łącznika CSV Google Cloud Search. |
Identyfikator źródła tożsamości | api.identitySourceId=x0987654321
Wymagane, jeśli używasz użytkowników i grup zewnętrznych. Identyfikator źródła tożsamości Google Cloud Search skonfigurowany przez administratora Google Workspace. |
4. Konfigurowanie parametrów pliku CSV
Zanim oprogramowanie sprzęgające będzie mogło przejść plik CSV i wyodrębnić z niego dane do indeksowania, musisz określić ścieżkę do pliku. Możesz też określić format pliku i typ kodowania. Aby określić właściwości pliku CSV w pliku konfiguracyjnym, dodaj te parametry:
Ustawienie | Parametr |
Ścieżka do pliku CSV | csv.filePath=./movie_content.csv
Wymagany. Ścieżka do pliku CSV, do którego chcesz uzyskać dostęp i z którego chcesz wyodrębnić treść do indeksowania. |
Format pliku | csv.format=DEFAULT
Format pliku. Możliwe wartości pochodzą z klasy CSVFormat Apache Commons CSV. Wartości formatu to: |
Modyfikator formatu pliku | csv.format.withMethod=value
Zmiana sposobu obsługi pliku przez Cloud Search. Możliwe metody pochodzą z klasy CSVFormat Apache Commons CSV i obejmują te, które przyjmują pojedynczy znak, ciąg znaków lub wartość logiczną. Aby na przykład określić średnik jako separator, użyj |
Typ kodowania pliku | csv.fileEncoding=UTF-8
Zestaw znaków Java, który ma być używany podczas odczytywania pliku przez Cloud Search. Jeśli nie zostanie określony, Cloud Search użyje domyślnego zestawu znaków platformy. |
5. Określanie nazw kolumn do indeksowania i kolumn kluczy unikalnych
Aby łącznik mógł uzyskiwać dostęp do plików CSV i je indeksować, w pliku konfiguracyjnym musisz podać informacje o definicjach kolumn. Jeśli plik konfiguracyjny nie zawiera parametrów określających nazwy kolumn do indeksowania i kolumn klucza unikalnego, używane są wartości domyślne.
Ustawienie | Parametr |
Kolumny do zindeksowania | csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...
Nazwy kolumn, które mają być indeksowane z pliku CSV. Jeśli parametr |
Kolumny z unikalnym kluczem | csv.uniqueKeyColumns=movieId
Kolumny pliku CSV, których wartości będą używane do generowania unikalnego identyfikatora każdego rekordu. Jeśli nie zostanie określony, jako klucz unikalny należy użyć skrótu rekordu CSV. Wartością domyślną jest kod skrótu rekordu. |
6. Określanie kolumn do użycia w klikanych adresach URL wyników wyszukiwania
Gdy użytkownik wyszukuje informacje za pomocą Google Cloud Search, usługa wyświetla stronę wyników z adresami URL, które można kliknąć. Aby włączyć tę funkcję, musisz dodać do pliku konfiguracyjnego parametr podany w tabeli poniżej.
Ustawienie | Parametr |
Format adresu URL wyniku wyszukiwania | url.format=https://mymoviesite.com/movies/{0}
Wymagany. Format tworzenia adresu URL widoku dla treści w pliku CSV. |
Parametry adresu URL z wynikami wyszukiwania. | url.columns=movieId
Wymagany. Nazwy kolumn CSV, których wartości będą używane do generowania adresu URL widoku rekordu. |
Parametry adresu URL wyników wyszukiwania, których znaczenie należy zmienić | url.columnsToEscape=movieId
Opcjonalnie. Nazwy kolumn w pliku CSV, których wartości zostaną zmienione na URL-encoded, aby wygenerować prawidłowy adres URL widoku. |
7. Określanie informacji o metadanych, formatów kolumn i jakości wyszukiwania
Do pliku konfiguracji możesz dodać parametry, które określają:
Parametry konfiguracji metadanych
W sekcji Parametry konfiguracji metadanych opisano kolumny pliku CSV używane do wypełniania metadanych produktów. Jeśli plik konfiguracyjny nie zawiera tych parametrów, używane są wartości domyślne. W tabeli poniżej znajdziesz te parametry.
Ustawienie | Parametr |
Tytuł | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Atrybut metadanych, który zawiera wartość odpowiadającą tytułowi dokumentu. Wartością domyślną jest pusty ciąg znaków. |
URL | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
Atrybut metadanych, który zawiera wartość adresu URL dokumentu w wynikach wyszukiwania. |
Sygnatura czasowa utworzenia | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Atrybut metadanych, który zawiera wartość sygnatury czasowej utworzenia dokumentu. |
Czas ostatniej modyfikacji | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Atrybut metadanych, który zawiera wartość sygnatury czasowej ostatniej modyfikacji dokumentu. |
Język dokumentu | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Język treści indeksowanych dokumentów. |
Typ obiektu schematu | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=movie
Typ obiektu używany przez łącznik, zdefiniowany w schemacie. Jeśli ta właściwość nie zostanie określona, łącznik nie będzie indeksować żadnych danych strukturalnych. |
Formaty daty i godziny
Formaty daty i godziny określają formaty oczekiwane w atrybutach metadanych. Jeśli plik konfiguracyjny nie zawiera tego parametru, używane są wartości domyślne. W tabeli poniżej znajdziesz ten parametr.
Ustawienie | Parametr |
Dodatkowe formaty daty i godziny | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Lista dodatkowych wzorców java.time.format.DateTimeFormatter rozdzielonych średnikami. Wzorce są używane podczas analizowania wartości ciągów w przypadku pól daty lub daty i godziny w metadanych lub schemacie. Wartość domyślna to pusta lista, ale formaty RFC 3339 i RFC 1123 są zawsze obsługiwane. |
Formaty kolumn
Formaty kolumn określają informacje o kolumnach, które powinny być częścią treści możliwych do wyszukiwania. Jeśli plik konfiguracyjny nie zawiera tych parametrów, używane są wartości domyślne. W tabeli poniżej znajdziesz te parametry.
Ustawienie | Parametr |
Pomiń nagłówek | csv.skipHeaderRecord=true
Wartość logiczna. Zignoruj rekord nagłówka (pierwszy wiersz) w pliku CSV. Jeśli masz ustawioną wartość |
Kolumny z wieloma wartościami | csv.multiValueColumns=genre,actors
Nazwy kolumn w pliku CSV, które mają wiele wartości. Wartością domyślną jest pusty ciąg znaków. |
Separator kolumn wielowartościowych | csv.multiValue.genre=;
Separator kolumn wielowartościowych. Domyślnym separatorem jest przecinek. |
Jakość wyszukiwania
Oprogramowanie sprzęgające Cloud Search CSV umożliwia automatyczne formatowanie HTML pól danych. Łącznik definiuje pola danych na początku wykonywania, a następnie używa szablonu treści do formatowania każdego rekordu danych przed przesłaniem go do Cloud Search.
Szablon treści określa znaczenie poszczególnych wartości pól w wyszukiwaniu. Pole tytułu jest wymagane i ma najwyższy priorytet. Możesz określić poziomy ważności jakości wyszukiwania dla wszystkich pozostałych pól treści: wysoki, średni lub niski. Każde pole treści, które nie jest zdefiniowane w określonej kategorii, ma domyślnie niski priorytet. W tabeli poniżej znajdziesz te parametry.
Ustawienie | Parametr |
Tytuł treści | contentTemplate.csv.title=movieTitle
Tytuł treści jest polem o najwyższej jakości wyszukiwania. |
Wysoka jakość wyszukiwania w polach treści | contentTemplate.csv.quality.high=actors
Pola treści, którym przypisano wysoką wartość jakości wyszukiwania. Domyślnie jest to pusty ciąg znaków. |
Niska jakość wyszukiwania w przypadku pól treści | contentTemplate.csv.quality.low=genre
Pola treści, którym przypisano niską wartość jakości wyszukiwania. Domyślnie jest to pusty ciąg znaków. |
Średnia jakość wyszukiwania w przypadku pól treści | contentTemplate.csv.quality.medium=description
Pola treści, którym przypisano średnią wartość jakości wyszukiwania. Domyślnie jest to pusty ciąg znaków. |
Nieokreślone pola treści | contentTemplate.csv.unmappedColumnsMode=IGNORE
Jak łącznik obsługuje nieokreślone pola treści. Prawidłowe wartości to:
|
8. Planowanie przechodzenia po danych
Przeszukiwanie to proces, w którym łącznik wykrywa treści ze źródła danych, w tym przypadku z pliku CSV. Podczas działania oprogramowanie sprzęgające CSV będzie przechodzić przez wiersze pliku CSV i indeksować każdy wiersz w Cloud Search za pomocą interfejsu Indexing API.
Pełne przeszukiwanie indeksuje wszystkie kolumny w pliku. Indeksowanie przyrostowe indeksuje tylko kolumny, które zostały dodane lub zmodyfikowane od czasu poprzedniego indeksowania. Oprogramowanie sprzęgające CSV wykonuje tylko pełne przeszukiwania. Nie wykonuje przyrostowych przejść.
Parametry harmonogramu określają, jak często łącznik czeka między przejściami. Jeśli plik konfiguracyjny nie zawiera parametrów harmonogramu, używane są wartości domyślne. W tabeli poniżej znajdziesz te parametry.
Ustawienie | Parametr |
Pełne przeszukiwanie po upływie określonego czasu | schedule.traversalIntervalSecs=7200
Oprogramowanie sprzęgające wykonuje pełne przejście po upływie określonego interwału. Określ interwał między przejściami w sekundach. Wartość domyślna to 86400 (liczba sekund w ciągu jednego dnia). |
Pełne przeszukiwanie przy uruchamianiu oprogramowania sprzęgającego | schedule.performTraversalOnStart=false
Oprogramowanie sprzęgające wykonuje pełne przejście przy uruchomieniu, zamiast czekać na upłynięcie pierwszego interwału. Wartością domyślną jest true. |
9. Określanie opcji listy kontroli dostępu (ACL)
Oprogramowanie sprzęgające Google Cloud Search CSV obsługuje uprawnienia za pomocą list ACL, aby kontrolować dostęp do treści pliku CSV w wynikach wyszukiwania. Dostępnych jest kilka opcji list ACL, które umożliwiają ochronę dostępu użytkowników do indeksowanych rekordów.
Jeśli Twoje repozytorium zawiera informacje o poszczególnych listach kontroli dostępu powiązanych z każdym dokumentem, prześlij wszystkie informacje o listach kontroli dostępu, aby kontrolować dostęp do dokumentów w Cloud Search. Jeśli repozytorium zawiera niepełne informacje o listach ACL lub nie zawiera ich wcale, możesz podać domyślne informacje o listach ACL w tych parametrach, które pakiet SDK przekazuje do łącznika.
Oprogramowanie sprzęgające wymaga włączenia domyślnych list ACL w pliku konfiguracyjnym. Aby włączyć domyślne listy ACL, ustaw defaultAcl.mode
na dowolny tryb inny niż none
i skonfiguruj go za pomocą defaultAcl.*
Ustawienie | Parametr |
Tryb ACL | defaultAcl.mode=fallback
Wymagany. Oprogramowanie sprzęgające CSV korzysta z funkcji domyślnych list kontroli dostępu. Oprogramowanie sprzęgające obsługuje tylko tryb rezerwowy. |
Domyślna nazwa listy ACL | defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1
Opcjonalnie. Umożliwia zastąpienie nazwy kontenera wirtualnego używanej przez oprogramowanie sprzęgające do konfigurowania domyślnych list ACL. Wartość domyślna to „DEFAULT_ACL_VIRTUAL_CONTAINER”. Możesz zastąpić tę wartość, jeśli wiele łączników indeksuje treści w tym samym źródle danych. |
Domyślna publiczna lista ACL | defaultAcl.public=true
Domyślna lista ACL używana w całym repozytorium jest ustawiona na dostęp do domeny publicznej. Wartość domyślna to false. |
Odczytujący wspólne grupy ACL | defaultAcl.readers.groups=google:group1, group2 |
Popularni czytelnicy list ACL | defaultAcl.readers.users=user1, user2, google:user3 |
Odmowa dostępu do grupy czytelników na podstawie wspólnej listy ACL | defaultAcl.denied.groups=group3 |
Często odrzucani czytelnicy ACL | defaultAcl.denied.users=user4, user5 |
Dostęp do całej domeny | Aby określić, że każdy indeksowany rekord ma być publicznie dostępny dla każdego użytkownika w domenie, ustaw obie te opcje na odpowiednie wartości:
|
Lista ACL zdefiniowana na wszystkich kontach | Aby określić jedną listę ACL dla każdego rekordu w repozytorium danych, ustaw wszystkie te wartości parametrów:
|
Definicja schematu
Cloud Search umożliwia indeksowanie i udostępnianie treści uporządkowanych i nieuporządkowanych. Aby obsługiwać zapytania dotyczące danych strukturalnych, musisz skonfigurować schemat źródła danych.
Po zdefiniowaniu schematu oprogramowanie sprzęgające CSV może się do niego odwoływać podczas tworzenia żądań indeksowania. Aby podać przykład, rozważmy plik CSV zawierający informacje o filmach.
Załóżmy, że wejściowy plik CSV ma następującą zawartość.
- movieId
- movieTitle
- opis
- rok
- releaseDate
- aktorzy (wiele wartości rozdzielonych przecinkami)
- gatunek (wiele wartości)
- oceny
Na podstawie powyższej struktury danych możesz zdefiniować schemat źródła danych, w którym chcesz indeksować dane z pliku CSV.
{
"objectDefinitions": [
{
"name": "movie",
"propertyDefinitions": [
{
"name": "actors",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"operatorOptions": {
"operatorName": "actor"
}
}
},
{
"name": "releaseDate",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "released",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
},
{
"name": "movieTitle",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"textPropertyOptions": {
"retrievalImportance": {
"importance": "HIGHEST"
},
"operatorOptions": {
"operatorName": "title"
}
}
},
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"enumPropertyOptions": {
"operatorOptions": {
"operatorName": "genre"
},
"possibleValues": [
{
"stringValue": "Action"
},
{
"stringValue": "Documentary"
},
{
"stringValue": "Drama"
},
{
"stringValue": "Crime"
},
{
"stringValue": "Sci-fi"
}
]
}
},
{
"name": "userRating",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": true,
"integerPropertyOptions": {
"orderedRanking": "ASCENDING",
"maximumValue": "10",
"operatorOptions": {
"operatorName": "score",
"lessThanOperatorName": "scorebelow",
"greaterThanOperatorName": "scoreabove"
}
}
}
]
}
]
}
Przykładowy plik konfiguracji
Przykładowy plik konfiguracji poniżej zawiera pary parametrów key=value
, które określają działanie przykładowego łącznika.
# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json
# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle
# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE
#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true
Szczegółowe opisy poszczególnych parametrów znajdziesz w dokumentacji parametrów konfiguracji.
Uruchamianie oprogramowania sprzęgającego Cloud Search CSV
Aby uruchomić łącznik z wiersza poleceń, wpisz to polecenie:
$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config
Domyślnie dzienniki oprogramowania sprzęgającego są dostępne w standardowym wyjściu. Możesz rejestrować dane w plikach, podając logging.properties
.