Compass---Connection

Compass 인 스 턴 스 의 유일한 설정 은 connection 입 니 다.
connection 은 색인 을 제어 하여 거기에 저장 합 니 다. 다시 말 하면 색인 저장 경로 입 니 다.
다음 과 같은 몇 가지 저장 방식 이 있 습 니 다. 1. 파일 시스템 은 지금까지 가장 인기 가 많 고 가장 간단 한 저장 방법 은 파일 시스템 에서 색인 을 유지 하 는 것 입 니 다. 다음은 connection 설정 을 바탕 으로 하 는 것 입 니 다.
        ,      target/test-index   
<compass name="default">
<connection>
<file path="target/test-index"/>
</connection>
</compass>
compass.engine.connection=file://target/test-index

 
 
 
 
또 다른 파일 시스템 방법의 설정 은 자바 1.4 NIO mmap 기능 을 사용 하기 위 한 것 입 니 다.
<compass name="default">
<connection>
<mmap path="target/test-index"/>
</connection>
</compass>
compass.engine.connection=mmap://target/test-index
<compass name="default">
<connection>
<niofs path="target/test-index"/>
</connection>
</compass>
compass.engine.connection=niofs://target/test-index

 2 랜 덤 저장 소 는 랜 덤 메모리 의 색인 저장 소 를 사용 하고 색인 데 이 터 는 메모리 에 저장 할 수 있 습 니 다.저장 의 대가 로 볼 때 빠 른 색인 과 검색 이 편리 하 다.다음은 설정 의 예 입 니 다:
 
<compass name="default">
<connection>
<ram path="/index"/>
</connection>
</compass>
compass.engine.connection=ram://index

 3 JDBC 는 JDBC 저장 connection 형식 을 저장 하여 색인 데 이 터 를 데이터베이스 에 저장 할 수 있 도록 합 니 다.색인 을 저장 하 는 메커니즘 은 실제 트 리 기반 파일 시스템, 하위 색인 을 모방 하 는 것 입 니 다.
표 안의 모든 줄 은 바 이 너 리 데이터 의 파일 을 대표 하고 있다.Compass 구현, JdbCDirectory 는 Lucene directory 추출 위 에 세 워 진 것 으로 다른 Compass 와 완전히 결합 되 어 단순 한 Lucene 응용 에 사용 할 수 있 습 니 다.Compass 에서 사용 할 때, 특히 사무 관리 와 jdbc 데이터 원본 관리 에 대해 더욱 간단하게 설정 할 수 있 습 니 다.
다음은 jdbc 를 사용 하여 색인 을 저장 하 는 간단 한 예 입 니 다. 예 를 들 어 설정 은 변 하지 않 는 설정 으로 데이터 원본 이 없습니다.
<compass name="default">
<connection>
<jdbc>
<dataSourceProvider>
<driverManager url="jdbc:hsqldb:mem:test"
username="sa" password=""
driverClass="org.hsqldb.jdbcDriver" />
</dataSourceProvider>
</jdbc>
</connection>
</compass>

 
 
이상 의 설정 은 jdbc 요소 에서 방언 속성 을 정의 하지 않 았 습 니 다.Compass 는 데이터베이스 메타 데 이 터 를 기반 으로 한 데이터베이스 방언 을 자동 으로 감지 하려 고 시도 합 니 다.
실패, 사투 리 는 설정 되 어 있 습 니 다. 우리 의 예 에서 그것 은...
dialect="org.apache.lucene.store.jdbc.dialect.HSQLDialect".
(1) 관리 환경 은 jdbc 색인 저장 소 에 도달 할 때 Compass 가 '관리' 를 받 는 환경 에서 일 하 는 지 알 아 보 는 것 이 중요 하 다.하나의 관리 환경 은 Compass 가 사무 관 리 를 통제 할 수 없 는 환경 이다.만약 Compass 가 사 무 를 통제 할 수 있다 면, 예 를 들 어 현지 사무 공장 이 있다 면, 그것 은 관리 환경 으로 여 겨 지지 않 을 것 이다.    관리 되 지 않 은 환경 에서 작업 하면 Compass 는 ransaction AwareDataSourseProxy 로 데이터 원본 을 봉인 하고 jdbc 연결 을 제출 / 스크롤 할 수 있 습 니 다.하나의 관리 환경 에서 작업 을 할 때 패 키 징 이 나타 나 지 않 고 Compass 는 외부 사무 관리자 로 하여 금 제출 / 스크롤 백 연결 을 하 게 할 것 입 니 다.    일반적으로 jdbc 데이터 원본 은 항상 외부 시스템 / 설정 에서 사용 되 는 것 이 아 닙 니 다.대부분의 경우 JNDI 나 외부 데이터 원본 공급 자 (예 를 들 어 Spring) 일 것 입 니 다.    기본 적 인 상황 에서 Compass 작업 은 비 관리 환경 에서 jdbc 요소 의 managed 속성 을 true 로 설정 해 야 합 니 다.
(2) 데이터 원본 공급 자
Compass 는 서로 다른 jdbc 데이터 원본 공급 자 를 고려 합 니 다.DataSourceProvider 가 실현 하 는 직책 은 jdbc 데이터 원본 인 스 턴 스 를 설정 하고 제공 하기 위 한 것 입 니 다.성능, 특히 공유 특성 에 대해 서 는 데이터 소스 의 실현 이 중요 하 다.        모든 Compass 가 지원 하 는 서로 다른 데이터 원본 은 자동 제출 표 지 를 설정 할 수 있 습 니 다.자동 제출 은 세 가지 값 이 있 습 니 다: false, true, external (자동 제출 을 명확 하 게 설정 하지 마 십시오. 다른 위치 에 설정 되 어 있다 고 가정 합 니 다).자동 제출 모드 의 기본 값 은 false 이 며 추천 값 입 니 다 (external 은 사용 할 수 있 지만 실제 데이터 원본 을 false 로 설정 해 야 합 니 다) a 드라이브 관리자
모든 공급 자 중에서 가장 간단 한 것 은 외부 라 이브 러 리 나 시스템 이 필요 하지 않 습 니 다.주요 단점 은 성능 이다. 어떤 종류의 공유 도 이 루어 지지 않 았 기 때문이다.b Jakarta Commons DBCP  Compass 는 Jakarta Commons DBCP 를 데이터 원본 공급 자로 설정 할 수 있 습 니 다. 드라이브 관리 공급 자의 성능 에 비해 추천 하 는 선택 입 니 다. 다음은 사용 시의 예 입 니 다.
<compass name="default">
<connection>
<jdbc>
<dataSourceProvider>
<dbcp url="jdbc:hsqldb:mem:test"
username="sa" password=""
driverClass="org.hsqldb.jdbcDriver"
maxActive="10" maxWait="5" maxIdle="2" initialSize="3" minIdle="4"
poolPreparedStatements="true" />
</dataSourceProvider>
</jdbc>
</connection>
</compass>

 
 
dbcp 데이터 원본 공급 자 에 사용 할 수 있 는 다른 설정 을 설정 합 니 다. 그들의 값 은 다른 의미 가 없고 전형 적 인 시스템 의 추천 값 입 니 다. 더 많은 정 보 를 얻 으 려 면 Jakarta Commons DBCP 문 서 를 보십시오.
c c3p0 Compass 는 c3p 0 을 데이터 원본 으로 설정 할 수 있 습 니 다. 드라이브 관리 성능 에 비해 그녀 도 추천 하 는 선택 입 니 다. (이 를 사용 하거나 이전 절 에 있 었 던 Jakarta Commons DBCP 를 사용 하고 싶 습 니 다) 이것 은 당신 에 게 달 려 있 습 니 다. 다음은 사용 예 입 니 다.
<compass name="default">
<connection>
<jdbc>
<dataSourceProvider>
<c3p0 url="jdbc:hsqldb:mem:test"
username="testusername" password="testpassword"
driverClass="org.hsqldb.jdbcDriver" />
</dataSourceProvider>
</jdbc>
</connection>
</compass>

 
 
c3p 0 데이터 원본 공급 자 는 c3p 0 의 ComboPooledDataSource 를 사용 합 니 다. 다른 설정 은 c3p 0. perproperties 파일 설정 을 사용 할 수 있 습 니 다. 이 파일 은 고급 자원 으로 같은 LASSPATH / classloader 에서 c3p 0 의 jar 파일 을 불 러 오 는 위치 에 저 장 됩 니 다.c3p 0 문 서 를 참고 하여 더 많은 설정 을 가 져 오 십시오.
d. JNDICompass 도 JNDI 를 사용 하여 데이터 원본 을 찾 아 설정 할 수 있 습 니 다. 다음은 사용 하 는 예 입 니 다.
<compass name="default">
<connection>
<jdbc>
<dataSourceProvider>
<jndi lookup="testds" username="testusername" password="testpassword" />
</dataSourceProvider>
</jdbc>
</connection>
</compass>

 
 
jndi 검색 환경 은 자바. naming. factory. initial 과 자바. naming. provider. url 의 JDNI 설정 을 포함 하여 다른 jndi 태그 에 설정 할 수 있 습 니 다. Compass 태그 아래 에 직접 설정 할 수 있 습 니 다. username 과 password 는 데이터 원본 에 사용 되 며 완전히 선택 할 수 있 습 니 다.
e 외부 Compass 는 ExteranlDataSourceProvider. 클래스 의 외부 데이터 원본 을 사용 하여 설정 할 수 있 습 니 다. 자바 스 레 드 로 컬 저장 데이터 원본 을 사용 하여 나중에 데이터 원본 공급 자 를 위해 사용 합 니 다.데이터 원본 을 ExteranlDataSourceProvider 에 정적 방법 으로 설정 합 니 다 setDataSource (DataSource)
dataSource), 다음은 어떻게 설정 하 는 예 입 니 다:
<compass name="default">
<connection>
<jdbc>
<dataSourceProvider>
<external username="testusername" password="testpassword"/>
</dataSourceProvider>
</jdbc>
</connection>
</compass>

 
 
 
username 과 password 는 데이터 원본 에 사용 되 며 선택 할 수 있 습 니 다.
 
 
 
아직 좀 있 습 니 다. 보충 할 시간 이 있 습 니 다.

좋은 웹페이지 즐겨찾기