Данное руководство предназначено для администраторов CSV-коннектора Google Cloud Search (значения, разделенные запятыми), ответственных за загрузку, настройку, запуск и мониторинг коннектора.
Данное руководство содержит инструкции по выполнению следующих ключевых задач:
- Загрузите программное обеспечение для подключения к CSV-файлам Cloud Search.
- Настройте коннектор для конкретного источника данных CSV.
- Разверните и запустите коннектор.
Для понимания концепций, изложенных в этом документе, необходимо быть знакомым с Google Workspace, CSV-файлами и списками контроля доступа (ACL).
Обзор коннектора Cloud Search CSV
Коннектор Cloud Search для работы с CSV-файлами работает с любыми текстовыми файлами, разделенными запятыми (CSV-файлами). CSV-файл хранит табличные данные, где каждая строка представляет собой запись данных.
Коннектор извлекает строки из CSV-файла и индексирует их в Cloud Search с помощью API индексирования. После индексации строки становятся доступными для поиска через клиенты Cloud Search или API запросов. Коннектор также поддерживает списки контроля доступа (ACL) для управления доступом пользователей к контенту.
Коннектор можно установить на Linux или Windows. Перед развертыванием убедитесь, что у вас есть следующие компоненты:
- На компьютере, где запущен коннектор, установлена Java JRE 1.8.
- Информация о Google Workspace для установления соединений:
- Закрытый ключ Google Workspace (содержащий идентификатор учетной записи службы).
- Идентификатор источника данных Google Workspace .
Как правило, эти учетные данные предоставляет администратор Google Workspace для соответствующего домена.
Этапы развертывания
Для развертывания CSV-коннектора Cloud Search выполните следующие действия:
- Установите программное обеспечение коннектора.
- Укажите конфигурацию разъема.
- Настройте доступ к источнику данных Cloud Search.
- Настройка доступа к CSV-файлам
- Укажите имена столбцов, уникальные ключи и столбцы с датами и временем.
- Укажите столбцы для URL-адресов результатов поиска, по которым можно перейти по ссылке.
- Укажите форматы метаданных и столбцов.
- Планирование обхода данных
- Укажите параметры ACL.
1. Установите SDK.
Установите SDK в локальный репозиторий Maven.
Клонируйте репозиторий SDK с GitHub.
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk/csv
Проверьте выбранную вами версию:
$ git checkout tags/v1-0.0.3
Создайте коннектор:
$ mvn package
Распакуйте и установите коннектор:
$ 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. Укажите конфигурацию CSV-коннектора.
Вы управляете поведением коннектора с помощью параметров в его конфигурационном файле. К настраиваемым параметрам относятся:
- Доступ к источнику данных.
- Расположение и определения CSV-файла.
- Столбцы уникальных идентификаторов.
- Параметры обхода и ACL.
Для создания файла конфигурации:
- Откройте текстовый редактор и назовите файл
connector-config.properties. - Добавляйте параметры конфигурации в виде пар
key=value, при этом каждая пара должна располагаться на новой строке. Пример файла конфигурации см. в разделе «Пример файла конфигурации» .
Для упрощения отслеживания храните файл конфигурации в том же каталоге, что и коннектор. Чтобы коннектор распознал ваш файл, укажите его путь в командной строке. В противном случае коннектор по умолчанию будет использовать файл connector-config.properties из вашего локального каталога. См. раздел «Запуск коннектора» .
3. Настройте доступ к источнику данных Cloud Search.
В конфигурационном файле необходимо указать параметры для доступа к источнику данных Cloud Search. Вам потребуется идентификатор источника данных, идентификатор учетной записи службы и путь к файлу закрытого ключа учетной записи службы.
| Параметр | Параметр |
| Идентификатор источника данных | api.sourceId= 1234567890abcdefОбязательно. Идентификатор источника Cloud Search, заданный администратором Google Workspace. |
| Путь к закрытому ключу учетной записи службы | api.serviceAccountPrivateKeyFile= ./PrivateKey.jsonОбязательно. Файл ключа учетной записи службы для обеспечения доступа к коннектору. |
| Идентификатор источника идентификации | api.identitySourceId= x0987654321Обязательно при использовании внешних пользователей и групп. Идентификатор источника идентификации, установленный администратором Google Workspace. |
4. Настройка параметров CSV-файла
Укажите путь к файлу, его формат и кодировку.
| Параметр | Параметр |
| Путь к CSV-файлу | csv.filePath= ./movie_content.csvОбязательно. Путь к файлу для индексирования. |
| Формат файла | csv.format= DEFAULTФормат файла. Возможные значения берутся из класса Apache Commons CSV CSVFormat . В качестве значений формата могут использоваться: |
| Модификатор формата файла | csv.format. withMethod = valueИзменение способа обработки файла в Cloud Search. Возможные методы взяты из класса Apache Commons CSV CSVFormat и включают в себя те, которые принимают один символ, строку или логическое значение. Например, чтобы указать точку с запятой в качестве разделителя, используйте |
| Тип кодировки файла | csv.fileEncoding= UTF-8Кодировка символов Java для использования. По умолчанию используется кодировка символов платформы. |
5. Укажите имена столбцов для индексации и столбцы уникального ключа.
Укажите информацию о столбцах в конфигурационном файле.
| Параметр | Параметр |
| Столбцы для индексации | csv.csvColumns= movieId,movieTitle,description,actors,releaseDate,year,userratings... Названия столбцов, которые будут проиндексированы из CSV-файла. По умолчанию в качестве заголовка используется первая строка CSV-файла. Если указан параметр |
| Уникальные ключевые колонки | csv.uniqueKeyColumns= movieIdСтолбцы, используемые для генерации уникального идентификатора. По умолчанию используется хеш-код записи. |
6. Укажите столбцы для URL-адресов результатов поиска, по которым можно перейти по ссылке.
Включите кликабельные URL-адреса для результатов поиска.
| Параметр | Параметр |
| Формат URL результатов поиска | url.format= https://mymoviesite.com/movies/{0}Обязательно. Формат, используемый для формирования URL-адреса просмотра. |
| Параметры URL | url.columns= movieIdОбязательно. Названия столбцов CSV-файла, значения которых будут использоваться для генерации URL-адреса просмотра записи. |
| Параметры URL-адресов результатов поиска для экранирования | url.columnsToEscape= movieIdНеобязательно. Названия столбцов CSV-файла, значения которых будут экранированы для генерации допустимого URL-адреса для просмотра. |
7. Укажите метаданные, форматы столбцов и качество поиска.
В файл конфигурации можно добавить параметры, указывающие на следующее:
Параметры конфигурации метаданных
Эти параметры описывают столбцы для заполнения метаданных элемента.
| Параметр | Параметр |
| Заголовок | itemMetadata.title.field= movieTitleitemMetadata.title.defaultValue= Gone with the WindМета-атрибут для заголовка документа. По умолчанию — пустая строка. |
| URL | itemMetadata.sourceRepositoryUrl.field= urlitemMetadata.sourceRepositoryUrl.defaultValue= https://www.imdb.com/title/tt0031381/Метаданные — атрибут URL-адреса документа в результатах поиска. |
| Отметка времени создания | itemMetadata.createTime.field= releaseDateitemMetadata.createTime.defaultValue= 1940-01-17Метаданные, содержащие метку времени создания документа. |
| Время последнего изменения | itemMetadata.updateTime.field= releaseDateitemMetadata.updateTime.defaultValue= 1940-01-17Метаданный атрибут, содержащий метку времени последнего изменения документа. |
| Язык документа | itemMetadata.contentLanguage.field= languageCodeitemMetadata.contentLanguage.defaultValue= en-USЯзык контента для индексируемых документов. |
| Тип объекта схемы | itemMetadata.objectType.field= typeitemMetadata.objectType.defaultValue= movieТип объекта, используемый коннектором, как определено в схеме . Коннектор не будет индексировать структурированные данные, если это свойство не указано. |
Форматы даты и времени
Этот параметр задаёт дополнительные форматы даты и времени для преобразования строковых значений в поля даты или даты и времени.
| Параметр | Параметр |
| Дополнительные форматы даты и времени | structuredData.dateTimePatterns= MM/dd/uuuu HH:mm:ssXXXСписок дополнительных шаблонов java.time.format.DateTimeFormatter , разделённых точкой с запятой . Эти шаблоны используются при разборе строковых значений любых полей даты или времени в метаданных или схеме. Значение по умолчанию — пустой список, но форматы RFC 3339 и RFC 1123 всегда поддерживаются. |
Форматы столбцов
Эти параметры определяют, как анализировать столбцы в CSV-файле.
| Параметр | Параметр |
| Пропустить заголовок | csv.skipHeaderRecord=trueПервую строку игнорировать. Значение по умолчанию — false. |
| Многозначные столбцы | csv.multiValueColumns= genre,actorsНазвания столбцов с несколькими значениями. |
| Разделитель для столбцов с несколькими значениями | csv.multiValue.genre= ;Разделитель для столбцов, содержащих несколько значений. Разделитель по умолчанию — запятая. |
Качество поиска
Коннектор использует шаблон контента для форматирования записей. Поле «Заголовок» имеет наивысший приоритет. Вы можете назначить уровни приоритета (высокий, средний, низкий) другим полям.
| Параметр | Параметр |
| Заголовок содержимого | contentTemplate.csv.title= movieTitleЗаголовок контента — это поле, обеспечивающее наивысший поисковый рейтинг. |
| Высокое качество поиска по областям контента. | contentTemplate.csv.quality.high= actorsПоля контента, которым присвоено высокое значение качества поиска. По умолчанию — пустая строка. |
| Низкое качество поиска по полям контента. | contentTemplate.csv.quality.low= genreПоля контента, которым присвоено низкое значение качества поиска. По умолчанию — пустая строка. |
| Среднее качество поиска по полям контента. | contentTemplate.csv.quality.medium= descriptionПоля контента имеют средний уровень качества поиска. По умолчанию — пустая строка. |
| Неуказанные поля содержимого | contentTemplate.csv.unmappedColumnsMode= IGNOREКак коннектор обрабатывает неуказанные поля содержимого. Допустимые значения:
Значение по умолчанию — APPEND. |
8. Планирование обхода данных
Обход — это процесс обнаружения контента. Коннектор обходит строки CSV-файла и индексирует их с помощью API индексирования. Коннектор CSV выполняет только полный обход.
| Параметр | Параметр |
| Интервал прохождения | schedule.traversalIntervalSecs = 7200Интервал между полными проходами в секундах. Значение по умолчанию — 86400 (один день). |
| Обход на этапе запуска | schedule.performTraversalOnStart = false Коннектор выполняет обход при запуске, а не ждет истечения первого интервала. Значение по умолчанию — |
9. Укажите параметры ACL.
Коннектор использует списки контроля доступа (ACL) для управления доступом. Если ваш репозиторий предоставляет списки ACL, загрузите их. В противном случае настройте списки ACL по умолчанию. Установите значение defaultAcl.mode , отличное от none .
| Параметр | Параметр |
| режим ACL | defaultAcl.mode =fallbackОбязательно. Коннектор поддерживает только резервный режим. |
| Имя ACL по умолчанию | defaultAcl.name = VIRTUAL_CONTAINER_FOR_CONNECTOR_1 Необязательный параметр. Переопределяет имя виртуального контейнера, используемого коннектором для списков контроля доступа по умолчанию. Значение по умолчанию — |
| ACL по умолчанию для общего доступа | defaultAcl.public = trueУстанавливает для всего репозитория режим публичного доступа. Значение по умолчанию — false. |
| Общие рекомендации группы ACL по чтению | defaultAcl.readers.groups = google: group1, group2 |
| Обычные читатели ACL | defaultAcl.readers.users = user1, user2, google: user3 |
| Общедоступный ACL запретил групповое чтение | defaultAcl.denied.groups = group3 |
| Обычная передняя крестообразная связка (ПКС) недоступна для читателей. | defaultAcl.denied.users = user4, user5 |
| Доступ ко всему домену | Чтобы указать, что каждая проиндексированная запись должна быть общедоступна для каждого пользователя в домене, задайте значения для обоих следующих параметров:
|
| Общепринятое определение передней крестообразной связки | Чтобы задать общий список контроля доступа (ACL) для каждой записи, установите следующие параметры:
Считается, что пользователи и группы определены в локальном домене, если только они не имеют префикса " По умолчанию имя пользователя или группы — пустая строка. Указывайте параметры пользователя и группы только в том случае, если Если |
Определение схемы
Для поддержки запросов к структурированным данным настройте схему для вашего источника данных.
Например, рассмотрим CSV-файл, содержащий следующую информацию о фильмах:
- movieId
- movieTitle
- описание
- год
- Дата выпуска
- акторы (несколько значений, разделенных запятой (,))
- жанр (несколько значений)
- рейтинги
Исходя из этой структуры, вы можете определить следующую схему для вашего источника данных:
{
"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"
}
}
}
]
}
]
}
Пример файла конфигурации
В приведенном ниже примере конфигурационного файла показаны пары key=value параметров, определяющие поведение примера коннектора.
# 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
Запустите коннектор
Для запуска коннектора из командной строки:
$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config
По умолчанию журналы коннектора доступны в стандартном выводе. Вы можете записывать журналы в файлы, указав это в файле logging.properties .
Данное руководство предназначено для администраторов CSV-коннектора Google Cloud Search (значения, разделенные запятыми), ответственных за загрузку, настройку, запуск и мониторинг коннектора.
Данное руководство содержит инструкции по выполнению следующих ключевых задач:
- Загрузите программное обеспечение для подключения к CSV-файлам Cloud Search.
- Настройте коннектор для конкретного источника данных CSV.
- Разверните и запустите коннектор.
Для понимания концепций, изложенных в этом документе, необходимо быть знакомым с Google Workspace, CSV-файлами и списками контроля доступа (ACL).
Обзор коннектора Cloud Search CSV
Коннектор Cloud Search для работы с CSV-файлами работает с любыми текстовыми файлами, разделенными запятыми (CSV-файлами). CSV-файл хранит табличные данные, где каждая строка представляет собой запись данных.
Коннектор извлекает строки из CSV-файла и индексирует их в Cloud Search с помощью API индексирования. После индексации строки становятся доступными для поиска через клиенты Cloud Search или API запросов. Коннектор также поддерживает списки контроля доступа (ACL) для управления доступом пользователей к контенту.
Коннектор можно установить на Linux или Windows. Перед развертыванием убедитесь, что у вас есть следующие компоненты:
- На компьютере, где запущен коннектор, установлена Java JRE 1.8.
- Информация о Google Workspace для установления соединений:
- Закрытый ключ Google Workspace (содержащий идентификатор учетной записи службы).
- Идентификатор источника данных Google Workspace .
Как правило, эти учетные данные предоставляет администратор Google Workspace для соответствующего домена.
Этапы развертывания
Для развертывания CSV-коннектора Cloud Search выполните следующие действия:
- Установите программное обеспечение коннектора.
- Укажите конфигурацию разъема.
- Настройте доступ к источнику данных Cloud Search.
- Настройка доступа к CSV-файлам
- Укажите имена столбцов, уникальные ключи и столбцы с датами и временем.
- Укажите столбцы для URL-адресов результатов поиска, по которым можно перейти по ссылке.
- Укажите форматы метаданных и столбцов.
- Планирование обхода данных
- Укажите параметры ACL.
1. Установите SDK.
Установите SDK в локальный репозиторий Maven.
Клонируйте репозиторий SDK с GitHub.
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk/csv
Проверьте выбранную вами версию:
$ git checkout tags/v1-0.0.3
Создайте коннектор:
$ mvn package
Распакуйте и установите коннектор:
$ 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. Укажите конфигурацию CSV-коннектора.
Вы управляете поведением коннектора с помощью параметров в его конфигурационном файле. К настраиваемым параметрам относятся:
- Доступ к источнику данных.
- Расположение и определения CSV-файла.
- Столбцы уникальных идентификаторов.
- Параметры обхода и ACL.
Для создания файла конфигурации:
- Откройте текстовый редактор и назовите файл
connector-config.properties. - Добавляйте параметры конфигурации в виде пар
key=value, при этом каждая пара должна располагаться на новой строке. Пример файла конфигурации см. в разделе «Пример файла конфигурации» .
Для упрощения отслеживания храните файл конфигурации в том же каталоге, что и коннектор. Чтобы коннектор распознал ваш файл, укажите его путь в командной строке. В противном случае коннектор по умолчанию будет использовать файл connector-config.properties из вашего локального каталога. См. раздел «Запуск коннектора» .
3. Настройте доступ к источнику данных Cloud Search.
В конфигурационном файле необходимо указать параметры для доступа к источнику данных Cloud Search. Вам потребуется идентификатор источника данных, идентификатор учетной записи службы и путь к файлу закрытого ключа учетной записи службы.
| Параметр | Параметр |
| Идентификатор источника данных | api.sourceId= 1234567890abcdefОбязательно. Идентификатор источника Cloud Search, заданный администратором Google Workspace. |
| Путь к закрытому ключу учетной записи службы | api.serviceAccountPrivateKeyFile= ./PrivateKey.jsonОбязательно. Файл ключа учетной записи службы для обеспечения доступа к коннектору. |
| Идентификатор источника идентификации | api.identitySourceId= x0987654321Обязательно при использовании внешних пользователей и групп. Идентификатор источника идентификации, установленный администратором Google Workspace. |
4. Настройка параметров CSV-файла
Укажите путь к файлу, его формат и кодировку.
| Параметр | Параметр |
| Путь к CSV-файлу | csv.filePath= ./movie_content.csvОбязательно. Путь к файлу для индексирования. |
| Формат файла | csv.format= DEFAULTФормат файла. Возможные значения берутся из класса Apache Commons CSV CSVFormat . В качестве значений формата могут использоваться: |
| Модификатор формата файла | csv.format. withMethod = valueИзменение способа обработки файла в Cloud Search. Возможные методы взяты из класса Apache Commons CSV CSVFormat и включают в себя те, которые принимают один символ, строку или логическое значение. Например, чтобы указать точку с запятой в качестве разделителя, используйте |
| Тип кодировки файла | csv.fileEncoding= UTF-8Кодировка символов Java для использования. По умолчанию используется кодировка символов платформы. |
5. Укажите имена столбцов для индексации и столбцы уникального ключа.
Укажите информацию о столбцах в конфигурационном файле.
| Параметр | Параметр |
| Столбцы для индексации | csv.csvColumns= movieId,movieTitle,description,actors,releaseDate,year,userratings... Названия столбцов, которые будут проиндексированы из CSV-файла. По умолчанию в качестве заголовка используется первая строка CSV-файла. Если указан параметр |
| Уникальные ключевые колонки | csv.uniqueKeyColumns= movieIdСтолбцы, используемые для генерации уникального идентификатора. По умолчанию используется хеш-код записи. |
6. Укажите столбцы для URL-адресов результатов поиска, по которым можно перейти по ссылке.
Включите кликабельные URL-адреса для результатов поиска.
| Параметр | Параметр |
| Формат URL результатов поиска | url.format= https://mymoviesite.com/movies/{0}Обязательно. Формат, используемый для формирования URL-адреса просмотра. |
| Параметры URL | url.columns= movieIdОбязательно. Названия столбцов CSV-файла, значения которых будут использоваться для генерации URL-адреса просмотра записи. |
| Параметры URL-адресов результатов поиска для экранирования | url.columnsToEscape= movieIdНеобязательно. Названия столбцов CSV-файла, значения которых будут экранированы для генерации допустимого URL-адреса для просмотра. |
7. Укажите метаданные, форматы столбцов и качество поиска.
В файл конфигурации можно добавить параметры, указывающие на следующее:
Параметры конфигурации метаданных
Эти параметры описывают столбцы для заполнения метаданных элемента.
| Параметр | Параметр |
| Заголовок | itemMetadata.title.field= movieTitleitemMetadata.title.defaultValue= Gone with the WindМета-атрибут для заголовка документа. По умолчанию — пустая строка. |
| URL | itemMetadata.sourceRepositoryUrl.field= urlitemMetadata.sourceRepositoryUrl.defaultValue= https://www.imdb.com/title/tt0031381/Метаданные — атрибут URL-адреса документа в результатах поиска. |
| Отметка времени создания | itemMetadata.createTime.field= releaseDateitemMetadata.createTime.defaultValue= 1940-01-17Метаданные, содержащие метку времени создания документа. |
| Время последнего изменения | itemMetadata.updateTime.field= releaseDateitemMetadata.updateTime.defaultValue= 1940-01-17Метаданный атрибут, содержащий метку времени последнего изменения документа. |
| Язык документа | itemMetadata.contentLanguage.field= languageCodeitemMetadata.contentLanguage.defaultValue= en-USЯзык контента для индексируемых документов. |
| Тип объекта схемы | itemMetadata.objectType.field= typeitemMetadata.objectType.defaultValue= movieТип объекта, используемый коннектором, как определено в схеме . Коннектор не будет индексировать структурированные данные, если это свойство не указано. |
Форматы даты и времени
Этот параметр задаёт дополнительные форматы даты и времени для преобразования строковых значений в поля даты или даты и времени.
| Параметр | Параметр |
| Дополнительные форматы даты и времени | structuredData.dateTimePatterns= MM/dd/uuuu HH:mm:ssXXXСписок дополнительных шаблонов java.time.format.DateTimeFormatter , разделённых точкой с запятой . Эти шаблоны используются при разборе строковых значений любых полей даты или времени в метаданных или схеме. Значение по умолчанию — пустой список, но форматы RFC 3339 и RFC 1123 всегда поддерживаются. |
Форматы столбцов
Эти параметры определяют, как анализировать столбцы в CSV-файле.
| Параметр | Параметр |
| Пропустить заголовок | csv.skipHeaderRecord=trueПервую строку игнорировать. Значение по умолчанию — false. |
| Многозначные столбцы | csv.multiValueColumns= genre,actorsНазвания столбцов с несколькими значениями. |
| Разделитель для столбцов с несколькими значениями | csv.multiValue.genre= ;Разделитель для столбцов, содержащих несколько значений. Разделитель по умолчанию — запятая. |
Качество поиска
Коннектор использует шаблон контента для форматирования записей. Поле «Заголовок» имеет наивысший приоритет. Вы можете назначить уровни приоритета (высокий, средний, низкий) другим полям.
| Параметр | Параметр |
| Заголовок содержимого | contentTemplate.csv.title= movieTitleЗаголовок контента — это поле, обеспечивающее наивысший поисковый рейтинг. |
| Высокое качество поиска по областям контента. | contentTemplate.csv.quality.high= actorsПоля контента, которым присвоено высокое значение качества поиска. По умолчанию — пустая строка. |
| Низкое качество поиска по полям контента. | contentTemplate.csv.quality.low= genreПоля контента, которым присвоено низкое значение качества поиска. По умолчанию — пустая строка. |
| Среднее качество поиска по полям контента. | contentTemplate.csv.quality.medium= descriptionПоля контента имеют средний уровень качества поиска. По умолчанию — пустая строка. |
| Неуказанные поля содержимого | contentTemplate.csv.unmappedColumnsMode= IGNOREКак коннектор обрабатывает неуказанные поля содержимого. Допустимые значения:
Значение по умолчанию — APPEND. |
8. Планирование обхода данных
Обход — это процесс обнаружения контента. Коннектор обходит строки CSV-файла и индексирует их с помощью API индексирования. Коннектор CSV выполняет только полный обход.
| Параметр | Параметр |
| Интервал прохождения | schedule.traversalIntervalSecs = 7200Интервал между полными проходами в секундах. Значение по умолчанию — 86400 (один день). |
| Обход на этапе запуска | schedule.performTraversalOnStart = false Коннектор выполняет обход при запуске, а не ждет истечения первого интервала. Значение по умолчанию — |
9. Укажите параметры ACL.
Коннектор использует списки контроля доступа (ACL) для управления доступом. Если ваш репозиторий предоставляет списки ACL, загрузите их. В противном случае настройте списки ACL по умолчанию. Установите значение defaultAcl.mode , отличное от none .
| Параметр | Параметр |
| режим ACL | defaultAcl.mode =fallbackОбязательно. Коннектор поддерживает только резервный режим. |
| Имя ACL по умолчанию | defaultAcl.name = VIRTUAL_CONTAINER_FOR_CONNECTOR_1 Необязательный параметр. Переопределяет имя виртуального контейнера, используемого коннектором для списков контроля доступа по умолчанию. Значение по умолчанию — |
| ACL по умолчанию для общего доступа | defaultAcl.public = trueУстанавливает для всего репозитория режим публичного доступа. Значение по умолчанию — false. |
| Общие рекомендации группы ACL по чтению | defaultAcl.readers.groups = google: group1, group2 |
| Обычные читатели ACL | defaultAcl.readers.users = user1, user2, google: user3 |
| Общедоступный ACL запретил групповое чтение | defaultAcl.denied.groups = group3 |
| Обычная передняя крестообразная связка (ПКС) недоступна для читателей. | defaultAcl.denied.users = user4, user5 |
| Доступ ко всему домену | Чтобы указать, что каждая проиндексированная запись должна быть общедоступна для каждого пользователя в домене, задайте значения для обоих следующих параметров:
|
| Общепринятое определение передней крестообразной связки | Чтобы задать общий список контроля доступа (ACL) для каждой записи, установите следующие параметры:
Считается, что пользователи и группы определены в локальном домене, если только они не имеют префикса " По умолчанию имя пользователя или группы — пустая строка. Указывайте параметры пользователя и группы только в том случае, если Если |
Определение схемы
Для поддержки запросов к структурированным данным настройте схему для вашего источника данных.
Например, рассмотрим CSV-файл, содержащий следующую информацию о фильмах:
- movieId
- movieTitle
- описание
- год
- Дата выпуска
- акторы (несколько значений, разделенных запятой (,))
- жанр (несколько значений)
- рейтинги
Исходя из этой структуры, вы можете определить следующую схему для вашего источника данных:
{
"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"
}
}
}
]
}
]
}
Пример файла конфигурации
В приведенном ниже примере конфигурационного файла показаны пары key=value параметров, определяющие поведение примера коннектора.
# 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
Запустите коннектор
Для запуска коннектора из командной строки:
$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config
По умолчанию журналы коннектора доступны в стандартном выводе. Вы можете записывать журналы в файлы, указав это в файле logging.properties .