티스토리 뷰

검색엔진/solr

2. SOLR 설정

wewin 2009. 6. 16. 15:57

2. SOLR 설정

 

2.1 scheme.xml 편집

 

SOLR  디렉토리 아래의 scheme.xml 파일을 편집기로  도큐먼트의 필드정보를 설정한다.

 

2.1.1 filed속성 정리

 

<fields>

<field name="docId" type="long" indexed="true" stored="true" required="true" />

<field name="categoryId" type="long" indexed="false" stored="true" />

<field name="contents" type="string" indexed="true" stored="true" />

</fields>

 

- name(필수) : 필드의 이름

- type(필수) : <types>영역에 미리 정의된 데이터 타입

- indexed : 인덱싱 여부(true 인덱싱이 되어 검색  정렬이 가능)

- stored : true데이터를 보관한다.

- required : 필수로 입력되어야 하는 필드일 경우 true 설정

- compressed : true이면, gzip 이용하여 데이터를 압축해서 저장한다.

                (TextField StrField 타입만 가능하다. )

multiValued : true이면 해당 필드는  document 마다 여러 개의 값을 가질 있다.

 

 

2.1.2 고유키 설정

 

고유키로 지정된 필드는 중복된 값이 인덱스에 존재할  없고만약 인덱싱 시에 동일한 값이 이미 존재한다면오래된 문서에 대한 인덱싱 정보는 삭제되고 새로운 정보가 남게 된다.

 

<uniqueKey> docId </uniqueKey>

 

(설정된 필드는 반드시 인덱싱 되어야 한다.)

 

 

2.1.3 기본 검색 필드 설정

 

검색  특정 필드가 지정되지 않은 겨우 기본적으로 검색 대상이  필드를 설정한다.

 

<defaultSearchField>text</defaultSearchField>

 

 

2.1.4 검색 연산자 지정

 

복수개의 단어 검색  적용할 연산자를 설정한다.

(AND -> 모든 단어를 포함, OR –> 하나 이상의 단어를 포함한 컨텐츠 검색)

 

<solrQueryParser defaultOperator="OR"/>

 

 

2.1.5 멀티 인덱싱 설정

 

여러 개의 필드를 하나의 필드처럼 사용해야  경우에 아래와 같이 설정한다. (4번의 검색 연산자 적용 )

 

<copyField source="title" dest="text"/>

<copyField source="contents" dest="text"/>

 

 

2.2 필터 매핑 설정

 

WEB-INF/web.xml 파일에서 아래처럼 디스패처 필터의 매핑 설정을 추가한다.

 

<filter>

    <filter-name>SolrRequestFilter</filter-name>

    <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>

</filter>

 

<filter-mapping>

    <filter-name>SolrRequestFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함