메뉴 건너뛰기

2016.12.08 01:37

solr적용시 사용법

조회 수 5632 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

우선 형태소 분석기를 다운로드 하신 다음에

이클립스에서 프로젝트 추가 하신후

KoreanFilterFactory, KoreanTokenizerFactory 이 두개의 클래스를 추가 하시면 됩니다.

추가를 하시면 BaseTokenFilterFactory, BaseTokenizerFactory 이 두개의 클래스가 없기 때문에 오류가 발생을 한 것인데 solr lib를 require project로 잡으셔도 되고 lib를 받아서 빌드패스에 잡으시고 빌드를 하시면 됩니다.

package org.apache.lucene.analysis.kr;

import org.apache.lucene.analysis.TokenStream;
import org.apache.solr.analysis.BaseTokenFilterFactory;

public class KoreanFilterFactory extends BaseTokenFilterFactory {
public KoreanFilter create(TokenStream input) {
return new KoreanFilter(input);
}
}

package org.apache.lucene.analysis.kr;

import java.io.Reader;

import org.apache.solr.analysis.BaseTokenizerFactory;


public class KoreanTokenizerFactory extends BaseTokenizerFactory {
public KoreanTokenizer create(Reader input) {
return new KoreanTokenizer(input);
}

}

빌드 후 koreananalizer.jar로 저장 한 후. was의 lib 경로에 넣습니다.

example로 들어있는 jetty에서는 lib를 어디에 넣어야 할지를 몰라서

한참을 해메다가 work/WEB-INF/lib에 넣었더니 동작을 하더군요

schema.xml에 text필드를 아래와 같이 수정합니다.

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<!--<tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
<tokenizer class="org.apache.lucene.analysis.kr.KoreanTokenizerFactory"/>
<filter class="org.apache.lucene.analysis.kr.KoreanFilterFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<!-- <tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
<tokenizer class="org.apache.lucene.analysis.kr.KoreanTokenizerFactory"/>
<filter class="org.apache.lucene.analysis.kr.KoreanFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>

기존의 solr.WhitespaceTokenizerFactory를 주석 처리 하고 새로 생성한 KoreanTokenizerFactory를 tokenizer class로 넣었습니다.

제가 환경이 되면 검색하는 모습도 보여드리고 싶은데 환경이 안되는군요

ps. 한글 검색 시에는 http://localhost:8983/solr/admin/ 에서 검색 하셔야 합니다. tutorial에서 나오는 것 같이 url에 q값에 한글을 넣으면 오류를 발생합니다


  1. 검색엔진 (2) - 라이브러리: Lucene, Solr, Elasticsearch

    Date2016.12.08 Views6289
    Read More
  2. 검색엔진 (1) - 검색엔진의 이해

    Date2016.12.08 Views6105
    Read More
  3. Nutch 0.9 를 이용하여 한글 검색하기

    Date2016.12.08 Views5995
    Read More
  4. solr적용시 사용법

    Date2016.12.08 Views5632
    Read More
  5. Spring Framework 개요

    Date2016.12.08 Views5396
    Read More
  6. Spring AOP(Aspect Oriented Programming) 에서의 용어

    Date2016.12.08 Views5241
    Read More
  7. 스프링을 구성하는 코어 모듈 - core module

    Date2016.12.08 Views5180
    Read More
  8. 스프링 2.5.2 설치및 HelloWorld 출력하기

    Date2016.12.06 Views5905
    Read More
  9. Spring 개발을 위한 Eclipse 개발 환경 구성하기

    Date2016.12.06 Views5475
    Read More
  10. 스프링(spring) 메일 발송 :: mailSender

    Date2016.08.18 Views14933
    Read More
  11. Spring Security Basic 인증 비활성화 설정

    Date2016.08.18 Views5616
    Read More
  12. 스프링 AOP의 주요 용어

    Date2016.08.18 Views5904
    Read More
  13. 스프링 Bean 객체의 초기화 및 소멸시 호출 메서드

    Date2016.08.18 Views5058
    Read More
  14. 스프링 XML 설정에서 자바 설정 Import하기

    Date2016.08.18 Views5125
    Read More
  15. 자바 스프링, spring AOP 구현 (xml 방식)

    Date2016.08.18 Views5957
    Read More
  16. 자바 스프링, spring AOP 구현 (xml 방식)

    Date2016.08.18 Views6281
    Read More
  17. 자바 스프링프레임워크 개발환경 설정하기-2편

    Date2016.08.18 Views6543
    Read More
  18. 자바 스프링프레임워크 개발환경 설정하기-1편

    Date2016.08.18 Views6897
    Read More
Board Pagination Prev 1 2 Next
/ 2

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved