Cloud Search 데이터베이스 커넥터를 사용하여 조직의 데이터베이스에서 데이터를 탐색하고 색인을 생성하도록 Google Cloud Search를 설정할 수 있습니다.
중요 고려사항
커넥터가 인터넷과 데이터베이스 모두에 액세스할 수 있는 한, Java 앱을 실행할 수 있는 거의 모든 환경에 Cloud Search 데이터베이스 커넥터를 설치 및 실행할 수 있습니다.
시스템 요구사항
| 시스템 요구사항 | |
|---|---|
| 운영체제 | Windows 또는 Linux |
| SQL Database | JDBC 4.0 이상을 준수하는 드라이버가 있는 모든 SQL 데이터베이스(다음 포함)
|
| 소프트웨어 | JDBC 드라이버 (별도로 다운로드 및 설치) |
커넥터 배포
이 단계에서는 커넥터를 설치하고 데이터베이스를 색인화하고 Cloud Search 사용자에게 결과를 반환하도록 구성하는 방법을 설명합니다.
기본 요건
커넥터를 배포하기 전에 다음 정보를 수집하세요.
- Google Workspace 비공개 키 (서비스 계정 ID 포함) Cloud Search API에 대한 액세스 구성을 참고하세요.
- Google Workspace 데이터 소스 ID입니다. 검색할 데이터 소스 추가하기를 참고하세요.
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 구문과 같은 기타 오류는 커넥터가 처음 데이터베이스에 액세스하려고 할 때 표시됩니다.
구성 매개변수 참조 정보
이 섹션에는 데이터베이스 커넥터 구성 파일에 사용되는 파라미터가 나열되어 있습니다.
데이터 소스 액세스 매개변수
| 설정 | 매개변수 |
|---|---|
| 데이터 소스 ID | api.sourceId = source-ID
필수 항목입니다. Cloud Search 소스 ID입니다. |
| 서비스 계정 | api.serviceAccountPrivateKeyFile = path
필수 항목입니다. 서비스 계정 키 파일의 경로입니다. |
데이터베이스 액세스 매개변수
| 설정 | 매개변수 |
|---|---|
| 데이터베이스 URL | db.url = database-URL
필수 항목입니다. 전체 경로(예: |
| 사용자 인증 정보 | db.user = usernamedb.password = password
필수 항목입니다. 관련 레코드에 대한 읽기 액세스 권한이 필요합니다. |
순회 SQL 쿼리 매개변수
커넥터는 SQL SELECT 쿼리를 사용하여 레코드를 순회합니다.
- 전체 순회: 구성된 모든 레코드를 읽습니다. 초기 색인 생성 및 주기적 재색인 생성에 필요합니다.
- 증분 순회: 새로 수정된 레코드만 읽습니다. 데이터베이스에 타임스탬프 필드가 필요합니다.
| 설정 | 매개변수 |
|---|---|
| 전체 순회 쿼리 | db.allRecordsSql = SELECT columns FROM table
필수 항목입니다. 콘텐츠, ID, ACL에 사용되는 모든 열을 포함합니다. |
| 증분 순회 쿼리 | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
증분 일정에 필요합니다. '?'는 필수 타임스탬프 자리표시자입니다. |
열 정의 매개변수
| 설정 | 매개변수 |
|---|---|
| 모든 열 | db.allColumns = column-1, column-2, ...
필수 항목입니다. SQL 쿼리에서 참조되는 모든 열을 나열합니다. |
| 고유 키 열 | db.uniqueKeyColumns = column-1
필수 항목입니다. 각 레코드의 고유 ID를 정의합니다. |
| URL 링크 열 | url.columns = column-1
필수 항목입니다. 클릭 가능한 검색 결과에 사용되는 열을 지정합니다. |
콘텐츠 필드
| 설정 | 매개변수 |
|---|---|
| 제목 열 | contentTemplate.db.title = column-name
필수 항목입니다. 검색 색인 생성의 최우선순위입니다. |
| 우선순위 지정 | contentTemplate.db.quality.high = column-1
열을 높음, 중간 또는 낮음 품질로 지정합니다. |