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>

작업노트/Search Engine l 2009. 4. 7. 22:02

프로젝트 적용을 위해 조사하고 정리했던 내용 공개합니다.
문제 소지가 있다면 삭제하겠습니다.
하나의 프로젝트에 적용하기 위한 방법이므로,
경우에 따라 적용 방법이 이 메뉴얼과 다를 수 있습니다.


1. SOLR 설치

 

1.1 환경 요구사항

- 자바5 또는 이상을 필요로 한다.

- 톰캣, 제티, 레진과 같은 서블릿 컨테이너가 필요하다.

 

 

1.2 다운로드

 

아래 경로를 통해 검색서버 SOLR 최신 버전을 다운로드한다. (현재 최신버전은 apache-solr-1.3.0)

 

http://mirror.apache.or.kr/lucene/solr/

 

 

1.3 기본 디렉토리 설정

 

SOLR 구동시키기 위해서는 ‘SOLR 디렉토리 설정해야 한다. 임의의 경로를 설정하지 않을 경우 디폴트 디렉토리로 JVM’s Current Working Directory($CWD/solr) 자동 설정된다.

 

디렉토리 설정을 하기 위해 아래의 명령으로 자바 시스템 프로퍼티로 지정해야한다.

 

 > export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/my/custom/solr/home/dir/"

 

다운로드 받은 압축파일을 압축 해제한 , ‘apache-solr-1.3.0/example/solr/’ 디렉토리 안의 모든 디렉토리 파일들을 위에서 설정한 ‘SOLR 디렉토리 복사한다.

 

 

1.4 라이브러리 설치

 

Solr 사용하기 위해서는 개의 라이브러리를 추가해야 한다. 압축을 풀면 나오는 아래의 라이브러리들을 적용하고자 하는 프로젝트의 ‘/WEB-INF/lib/’ 디렉토리로 이동시키면 된다.

 

-       apache-solr-1.3.0/lib 폴더 아래의 모든 라이브러리 파일

-       apache-solr-1.3.0/dist/apache-solr-common-1.3.0.jar

-       apache-solr-1.3.0/dist/apache-solr-core-1.3.0.jar

-       apache-solr-1.3.0/dist/apache-solr-dataimporthandler-1.3.0.jar (DataImportHandler사용시 필요)

-       apache-solr-1.3.0/dist/apache-solr-solrj-1.3.0 (Solrj API 사용시 필요)

-       apache-solr-1.3.0/dist/solrj-lib 폴더 아래의 모든 라이브러리 파일 (Solrj API 사용시 필요)

 

* 중복되는 라이브러리가 존재할 경우 가장 최신의 것을 사용해야 한다. 그렇지 않으면 예상치 못한 오류가 발생할 있다.

 


작업노트/Search Engine l 2009. 4. 7. 22:00


고2때였던걸로 기억한다.
게임 제작자가 되고 싶었던 나는 게임 시나리오 대회에도 나가보고
프로그래밍 공부도 시작했었다.
그게 내가 처음 프로그래밍을 시작하게 된 계기였다.

처음에는 C언어 입문서를 사서  Turbo C라는 도스용 컴파일러로 공부를 했었다.
하지만 슬슬 도스프로그램에 대한 답답함이 밀려왔고,
비주얼 C++이란 녀석의 존재를 알게 되어
용산에 가서 만원-당시 나에겐 거금이었던-을 주고 불법씨디를 사왔었다.
(그때만해도 온라인상의 어둠의 경로가 그리 활성화되어있지 않았다ㅋ)

그녀석이 바로 저 녀석이다.
나를 플밍의 세계로 끌어들인 녀석...
방정리 하다가 발견했는데 1년 정도 프로그래머로 일해본 뒤에 보니 감회가 새롭다..
난.. 저녀석에게 감사해야할까, 원망해야할까..? ㅋㅋ

그 때부터 꾸준히 공부했으면 지금쯤 난 엄청난 실력자가 되있었을 텐데
라는 생각을 하며
미소인지 먼지 모를 표정을 지어본다. ㅎㅎ

(불법을 써서 미안하다는 말을 MS에 뒤늦게 남아 전달하고싶다-_-ㅋ
가난한 고등학생이였으니 이해바람ㅋ)
작업노트/Developer's Diary l 2009. 3. 15. 14:14
1 ··· 3 4 5 6 7 8 9 ··· 39 

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

카테고리

분류 전체보기 (117)
작업노트 (98)
거미줄세상 (12)
쌓기 (1)
책읽기 (0)
Reviews (4)

달력

«   2024/05   »
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
get rsstistory! Tistory Tistory 가입하기!