Share via


크롤링 규칙 관리(FAST Search 데이터베이스 커넥터)

 

적용 대상: FAST Search Server 2010

마지막으로 수정된 항목: 2015-03-09

인덱싱할 콘텐츠 지정

FAST Search 데이터베이스 커넥터에서는 SQL SELECT 문에 따라 콘텐츠를 크롤링합니다. 이러한 SQL SELECT 문은 JDBCSQL 매개 변수에 지정할 수도 있고, JDBCSQLFile 매개 변수를 지정하여 가리키는 파일에 지정할 수도 있습니다. 이러한 매개 변수 중 하나를 커넥터 구성 파일의 Input 그룹에 지정합니다. 기본적으로 선택된 모든 열이 인덱싱됩니다.

인덱싱할 콘텐츠를 관리하려면 SELET 문에서 특정 열을 선택합니다. 예를 들면 다음과 같습니다.

SELECT Product.rowguid ID, Product.name Name, Product.weight weight
FROM Product

변환할 콘텐츠 지정

고급 검색 결과를 얻으려면 보다 수준 높은 결과 처리 기능이 필요할 수 있습니다. 다음과 같은 구성 파일 매개 변수는 변환할 콘텐츠와 변환 방식을 나타내는 데 사용할 수 있습니다.

필터 범주 매개 변수 간략한 설명

변환

UseMultiRowNormalizer

true로 설정한 경우 동일한 식별자가 포함된 레코드 열 값이 병합됩니다.

이 기능을 사용하려면 SELECT 문의 기본 키/식별자 필드에 ORDER BY 절이 있어야 합니다.

변환

JDBCMultiValueIncludeFields

출력에서 연결해야 하는 세미콜론(;)으로 구분된 열 이름 목록입니다. 이 필드는 JDBCMultiValueSkipFields에 대한 모든 설정을 재정의합니다.

이 설정을 JDBCAttributeColumnJDBCValueColumn과 함께 사용해서는 안 됩니다.

변환

JDBCMultiValueSkipFields

각 행의 값이 같으며 출력에서 반복되지 않아야 하는 세미콜론(;)으로 구분된 열 이름 목록입니다.

이 설정을 JDBCMultiValueIncludeFields와 함께 사용해서는 안 됩니다.

변환

JDBCAttributeColumn

정규화된 테이블의 경우 특성 이름이 포함된 열을 지정합니다.

이 설정을 JDBCMultiValueIncludeFieldsJDBCMultiValueSkipFields와 함께 사용해서는 안 됩니다.

변환

JDBCValueColumn

정규화된 테이블의 경우 특성 값이 포함된 열을 지정합니다.

이 설정을 JDBCMultiValueIncludeFieldsJDBCMultiValueSkipFields와 함께 사용해서는 안 됩니다.

다중 행 노멀라이저 사용 방법

테이블을 조인하는 경우 항목 ID가 여러 행에 걸쳐 중복될 수 있습니다. 이렇게 되면 여러 행에 동일한 ID가 들어 있게 됩니다. 이 경우 다중 행 노멀라이저를 사용하여 이러한 행을 항목 하나로 축소하십시오.

매개 변수 UseMultiRowNormalizer를 true로 설정하면 동일한 JDBCPrimaryKeyField 값이 포함된 여러 행의 텍스트가 연결됩니다. 열에 NULL처럼 값이 아닌 항목이 포함되어 있으면 이로 인해 결과 집합에 문자열 “NULL”이 나타나는 경우도 있습니다. 이를 방지하려면 SQL Server를 사용하는 경우 isnull 함수(또는 다른 데이터베이스 유형의 경우 이와 비슷한 함수)를 JDBCSQL 매개 변수에 사용합니다. 예를 들면 **SELECT ID, intro, body, isnull( comments, ‘’ ) comments FROM cms.articles;**와 같습니다.

JDBCAttributeColumn 및 JDBCValueColumn 매개 변수 사용 방법

데이터베이스에서 추출된 항목의 경우 열 하나에는 원하는 항목 특성 이름이 있고 다른 열에는 열 값이 들어 있을 수 있습니다. 이러한 두 매개 변수를 사용하여 특성 이름을 포함할 열과 특성 값을 포함할 열을 각각 지정할 수 있습니다.

원본 데이터베이스에 연결하는 방법

원본 데이터베이스에 연결하도록 FAST Search 데이터베이스 커넥터를 구성하려면 원본 데이터베이스에 사용할 JDBC 연결 문자열을 만들어야 합니다. 데이터베이스마다 사용하는 연결 문자열이 각기 다릅니다. 원본 데이터베이스에 대한 연결 문자열은 JDBCURL 매개 변수에 지정합니다.

다음은 일반적인 데이터베이스에 사용되는 JDBC 연결 문자열의 예입니다.

Microsoft Microsoft SQL Server 2000:

jdbc:microsoft:sqlserver://<사용자의 서버>:1433;DatabaseName=<사용자의 데이터베이스 이름>

여기서 각 부분이 나타내는 의미는 다음과 같습니다.

  • <사용자의 서버>는 SQL Server 호스트 이름입니다.

  • <사용자의 데이터베이스 이름>은 연결하는 원본 데이터베이스의 이름입니다.

Microsoft Microsoft SQL Server 2005 이상 버전

jdbc:sqlserver://<사용자의 서버>:1433;database=<사용자의 데이터베이스 이름>

여기서 각 부분이 나타내는 의미는 다음과 같습니다.

  • <사용자의 서버>는 SQL Server 호스트 이름입니다.

  • <사용자의 데이터베이스 이름>은 연결하는 원본 데이터베이스의 이름입니다.

IBM DB2

jdbc:db2://<사용자의 서버>:50000/<사용자의 데이터베이스 이름>

여기서 각 부분이 나타내는 의미는 다음과 같습니다.

  • <사용자의 서버>는 IBM DB2 서버 호스트 이름입니다.

  • <사용자의 데이터베이스 이름>은 연결하는 원본 데이터베이스의 이름입니다.

Oracle

jdbc:oracle:thin:@<사용자의 서버>:1521:<사용자의 데이터베이스 이름>

여기서 각 부분이 나타내는 의미는 다음과 같습니다.

  • <사용자의 서버>는 Oracle 서버 호스트 이름입니다.

  • <사용자의 데이터베이스 이름>은 연결하는 원본 데이터베이스의 이름입니다.

Microsoft가 아닌 공급자의 데이터베이스에 연결하는 경우에도 특정 공급자의 JDBC 드라이버를/lib 디렉터리(FAST Search Server 2010 for SharePoint 설치 폴더)에 집어넣어야 합니다. JDBC 드라이버를 얻는 방법에 대한 자세한 내용은 데이터베이스 공급자에게 문의하십시오.

See Also

Concepts

jdbctemplate.xml 참조