기술자 경력 신고 안 해!!!

OpenSource/lucene2009/07/03 19:08
제가 만들어서 사용하던 Analyzer에서 쓰던
동의어 필터입니다.

쇼핑몰을 염두해두고 작업했던 분석기라서 동의어 처리가 필요했는데요
아이디어는 루씬인액션 책에서 얻었고..

책에는 영어의 동의어를 어디 사이트에서 가져올 수 있다고 되어 있었는데
한글은 그런 사이트를 찾을 수가 없어서 생각해보다가
Analyzer의 최초 인스턴스 생성시 RamDirectory를 사용해서 동의어를 색인해 놓고
Token에 대한 동의어를 뽑아주는 방식을 사용했습니다.

동의어사전의 형식은 그냥

오라클,oracle
노트북,notebook,note피씨
식으로 한 row에 ,로 구분해서 넣어주시면 되고
사전명은 디폴트로 synonym.txt로 설정되어 있습니다.

위치는 webapplication이시라면 classes 밑에 사전을 넣어주시면 됩니다.
(소스 수정하셔서 원하시는 위치에 넣어주셔도 될 것 같습니다.)

루씬에서 기본적으로 제공되는 다른 필터와 마찬가지로
TokenFilter를 사용해서 만들었고, public Token next(final Token reusableToken) 메서드를 구현했습니다.

필요하신분 계시면 한번 사용해보세요..~

log를 찍기위한 commons-logging.jar가 필요합니다..




저작자 표시 비영리 변경 금지
Posted by 용식