С помощью коннектора к базам данных Cloud Search вы можете настроить Google Cloud Search для обнаружения и индексирования данных из баз данных вашей организации.
Важные соображения
Вы можете установить и запустить коннектор к базе данных Cloud Search практически в любой среде, где могут работать Java-приложения, при условии, что коннектор имеет доступ как к интернету, так и к базе данных.
Системные требования
| Системные требования | |
|---|---|
| Операционная система | Windows или Linux |
| база данных SQL | Любая база данных SQL с драйвером, совместимым с JDBC 4.0 или более поздней версии, включая:
|
| Программное обеспечение | Драйвер JDBC (скачивается и устанавливается отдельно) |
Разверните коннектор
В этих шагах описано, как установить коннектор и настроить его для индексирования ваших баз данных и возврата результатов пользователям Cloud Search.
Предварительные требования
Перед развертыванием коннектора соберите следующую информацию:
- Закрытый ключ Google Workspace (содержащий идентификатор учетной записи службы). См. раздел «Настройка доступа к API Cloud Search» .
- Идентификатор источника данных Google Workspace. См. раздел «Добавление источника данных в поиск» .
Шаг 1. Загрузите и соберите программное обеспечение для подключения к базе данных.
Клонируйте репозиторий коннектора с GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
Проверьте выбранную вами версию:
$ git checkout tags/v1-0.0.3
Создайте коннектор:
Чтобы пропустить тесты, используйте команду$ mvn package
mvn package -DskipTests.`.Распакуйте ZIP-архив с коннектором в каталог установки:
$ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip $ cd google-cloudsearch-database-connector-v1-0.0.3
Шаг 2. Настройка коннектора базы данных.
Создайте текстовый файл с именем
connector-config.properties(по умолчанию). Google рекомендует использовать расширение.propertiesили.config. Разместите его в той же директории, что и коннектор.Добавьте параметры в виде пар ключ-значение. В файле должны быть указаны доступ к источнику данных, доступ к базе данных, полный SQL-запрос для обхода базы данных, заголовок поля содержимого и определения столбцов.
# Data source access api.sourceId=1234567890abcdef api.identitySourceId=0987654321lmnopq api.serviceAccountPrivateKeyFile=./PrivateKey.json # Database access db.url=jdbc:mysql://localhost:3306/mysql_test db.user=root db.password=passw0rd # Full traversal SQL statement db.allRecordsSql=select customer_id, first_name, last_name, phone from address_book # Column definitions and URL format db.allColumns=customer_id, first_name, last_name, phone db.uniqueKeyColumns=customer_id url.columns=customer_id # Content field contentTemplate.db.title=customer_id # Optional: ACLs defaultAcl.mode=fallback defaultAcl.public=true # Optional: traversal schedule schedule.traversalIntervalSecs=36000 schedule.performTraversalOnStart=trueПараметры, специфичные для конкретной базы данных, см. в справочнике по параметрам конфигурации . Общие параметры см. в разделе «Параметры коннектора, предоставляемые Google» .
Шаг 3. Запустите коннектор базы данных.
Запустите коннектор из командной строки:
java -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector [-Dconfig=mysql.config]
Коннектор сообщает об ошибках конфигурации и инициализации. Другие ошибки, такие как недопустимый синтаксис SQL, появляются при первой попытке коннектора получить доступ к базе данных.
Справочник параметров конфигурации
В этом разделе перечислены параметры, используемые в файле конфигурации коннектора базы данных.
Параметры доступа к источнику данных
| Параметр | Параметр |
|---|---|
| Идентификатор источника данных | api.sourceId = source-IDОбязательно. Идентификатор источника Cloud Search. |
| Служебный аккаунт | api.serviceAccountPrivateKeyFile = pathОбязательно. Путь к файлу ключа учетной записи службы. |
Параметры доступа к базе данных
| Параметр | Параметр |
|---|---|
| URL базы данных | db.url = database-URL Обязательно. Полный путь, например, |
| Реквизиты для входа | db.user = usernamedb.password = passwordОбязательно. Для доступа к соответствующим записям необходим доступ на чтение. |
Параметры SQL-запроса для обхода
Коннектор использует SQL-запросы SELECT для обхода записей.
- Полный обход : считывает каждую настроенную запись. Необходим для первоначального индексирования и периодической переиндексации.
- Инкрементальный обход : считывает только недавно измененные записи. Требует наличия полей с временными метками в базе данных.
| Параметр | Параметр |
|---|---|
| Запрос полного обхода | db.allRecordsSql = SELECT columns FROM tableОбязательно. Укажите все столбцы, используемые для содержимого, идентификаторов и списков контроля доступа (ACL). |
| Запрос с инкрементальным обходом | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?Обязательно для инкрементальных расписаний. Символ "?" является обязательным заполнителем для временной метки. |
Параметры определения столбца
| Параметр | Параметр |
|---|---|
| Все колонки | db.allColumns = column-1 , column-2 , ...Обязательный параметр. Выводит список всех столбцов, на которые ссылаются SQL-запросы. |
| Уникальные ключевые колонки | db.uniqueKeyColumns = column-1Обязательный параметр. Определяет уникальный идентификатор для каждой записи. |
| столбец URL-ссылок | url.columns = column-1Обязательно. Указывает столбец, используемый для отображения кликабельных результатов поиска. |
Поля содержимого
| Параметр | Параметр |
|---|---|
| Заголовочная колонка | contentTemplate.db.title = column-nameОбязательно. Имеет наивысший приоритет для индексации в поисковых системах. |
| Приоритизация | contentTemplate.db.quality.high = column-1Присвойте столбцам категорию высокого, среднего или низкого качества. |