2015년 11월 26일 목요일

Apache SOLR 한글검색에 대하여...

일반적으론 한글형태소 분석기 라이브러리(koreananalyzer.4x-20130430.jar)(http://cafe.naver.com/korlucene)를 사용하라고 구글링에 나오나..

이상하게 적용이 안됨.. 라이브러리 경로에 다 넣어줘도 잘 못잡다가..

API문서를 보니...solr.CJKTokenizerFactory


를 사용하라고 되어 있음.. 우리나라 사람들이 만든 한글 형태소 분석기는 아직 적용해보지 못함..

적용 방법은 필드타입에다가 tokenizer class를 변경해 주면 되는듯함..

conf 디렉토리 -> schema.xml


혹은 한글이 들어가는 필드 타입들에 적용함..


기존


<analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"> </tokenizer></analyzer>
변경


<analyzer> <tokenizer class="solr.CJKTokenizerFactory"> </tokenizer></analyzer>
적용해보니.. 절이나 단어 단위의 검색에 대해서 좀더 고려를 해봐야 겠다는 생각이 든다.. 추후에 한글 형태소 분석기를 적용을 해봐야겠음.. 그런대로 검색이 잘 됨..

그리고.. 약간의 꼼수로.. 띄어쓰기로 검색시 공백을 제거하고.. DB쪽 데이터도 공백을 제거한 값을 검색하게 하는 꼼수를 부려봄.. 그런대로 잘 나오는것 같다..


<analyzer type="index"> <tokenizer class="solr.CJKTokenizerFactory"> </tokenizer></analyzer> <analyzer type="query"> <tokenizer class="solr.CJKTokenizerFactory"> </tokenizer></analyzer>
analyzer type도 검색에 영향을 미치는것 같기에 다음과 같이 적용


어찌됐든.. 결과는 괜찮게 나옴!!

단!! 데이터 정렬시 오름차순 내림차순이 약간 이상함.. 특수문자가 포함된 결과시에 상당히 이상하게 정렬된다..

댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...