루씬은?

  • 자바로 만들어진 오픈소스 풀 텍스트 검색 엔진
  • 여러가지로 활용도 많이 되고 되게 유명한거 같다.

활용 분야는?

  • 검색이 필요한 모든 분야에 활용 가능
  • 예 -> 위키의 내용 검색, 인트라넷, 데스크탑 검색, 그룹 웨어 등등

한글 지원은?

  • 지원 된다. 하지만 SearchFiles.java 예제 소스를 조금 수정 해야 한다.

      in = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
 이부분을
      in = new BufferedReader(new InputStreamReader(System.in));
이렇게 바꾼다.

      Query query = QueryParser.parse(line, field, analyzer);
이 부분도
      Query query = QueryParser.parse(line+"*", field, analyzer);

이렇게 바꾼다.

  • 위와 같이 하면 한글 검색이 잘된다.
    • 쿼리에 별표를 붙이는 이유는 한글은 저기서 사용하는 분석기는 빈 공간을 중심으로 토큰을 나눈다. 한글도 빈 공간을 중심으로 나누는데 우리가 검색 하고자 하는 중요한 것들을 거의 대부분 앞 글자에 나온다. 그렇다고 그 글자만 치면 검색이 안된다. 하지만 "*"( 검색에서 모든 문자를 의미하는것) 를 뒤에 붙이면 해당 단어 뒤에 어떠한 단어든 붙어 있는 절들이 검색이 될 수 있다. 현재까지는 이러한 방법으로 문제 생기는 것은 없었음.

진행 상황

날짜 진행된 내용
3/16 한글 검색 및 인덱스 구성 검색 완료, JSP를 통한 웹 서비스 테스트 완료
3/24 이게 리눅스에서는 UTF-8 이어야만 제대로 돌아가기에 위키를 UTF-8로 컨버팅 중...

할일

할일
zerowiki에 시범적으로 검색 엔진 장착
페이지 변경 사항이 있을 경우 인덱스에 변경 사항 반영
----
관련이 있는지는 모르겠지만 http://screencast4.sqlonrails.org/video/screencast2_lq.mov 이거 한번 참고해보길 - 임인택
Retrieved from http://wiki.zeropage.org/wiki.php/오픈소스검색엔진Lucene활용
last modified 2021-02-07 05:30:26