티스토리 뷰

이 글을 작성하고 있는 현재
한글 검색 가능한 사용이 오픈되어 있는 검색엔진은
루씬, 스핑크스, 패스트캣이 있습니다.

그 중 국산인 '패스트캣'을 이용하여 사이트 검색엔진으로 활용하려 정하고
설치 및 테스트까지의 과정을 기록해 놓습니다.


설치할 개인 환경

Windows7, MS-SQL Server Express 2008


사전 작업

윈도우 기반 Java에서 MS-SQL 데이터베이스를 접근해야 하므로 MS JDBC Driver 다운받고 압축 해제하고 해당 페이지 설명을 참고로 설치합니다.

sqljdbc4.jar를 C:\fastcat\lib\sqljdbc4.jar에 복사.

C:\fastcat\start.cmd를 편집기로 열고
java -classpath ...jar;%LIB%\sqljdbc4.jar 와 같이 추가.


Fastcat 설치 시작!

FastCat Github 저장소에서 OSS 최신버젼을 git clone.

다운받은 압축파일(fastcat_oss.zip)을 사용하고픈 디렉토리에 압축 해제.
C:\fastcat 에 압축 해제 하였습니다.

압축 해제한 디렉토리 내에 start.cmd 를 관리자권한으로 실행하면 아래 그림과 같은 명령창이 뜨면서 검색엔진, 관리자가 실행됩니다.

명령창 제일 마지막에 CatServer started! 라고 뜨면서 정상 실행된 모습.

이제 웹브라우저를 통한 관리자 페이지 접속이 가능합니다.

아래 이미지와 같이 http://localhost:8080/admin/ 주소를 엽니다.

메뉴 설명

홈 = fastcat 개발사측 소식,공지.
컬렉션 = 검색 데이터 소스, 색인할 스키마 설정.
색인 = 검색 색인 = 검색 데이터를 읽고 사전화 하는 작업.
관리 = 검색 시스템 상태/설정/복원.
테스트 = 검색 테스트, 한글 분석기 테스트, 데이터베이스 (연결) 테스트.


컬렉션 셋팅

'컬렉션'메뉴를 클릭하고 아래와 같이 검색에 사용하고자 하는 테이블 역할을 하는 컬렉션명을 입력하고 [컬렉션추가]버튼을 클릭.

컬렉션이 만들어졌다면 해당 컬렉션명을 클릭하고
작업하고자 하는 컬렉션 이름을 선택 후

[작업본편집] 클릭.

위 화면이 나타나면 SQL Server에서 검색하고자 하는 테이블과 비슷하게 스키마를 구성하고 [완료].

우측 메뉴 중 '데이터소스설정' 클릭

작업하고자 하는 컬렉션을 선택하고 소스타입 (여기서는 MS-SQL 사용하므로 DB)선택 하고

MS SQL Server JDBC 연결 URL 참고하여 위와 같이 JDBC 문자열 작성하고
아래로 내려 가서 [저장] 클릭.

(개인적으로 전체 색인 쿼리도 Select * from [테이블명]과 같이 입력함.)


연결 검증

상단 메뉴 중 테스트 클릭하고 우측 메뉴 중 DB테스트 클릭.
페이지 뜨면 DB 선택에서 항목 선택하고 실행할 SQL 실행하여 보고 연결이 이상 없이 되는지 실행 결과를 통해서 확인.
이상이 있다면 JDBC 드라이버 설치, 연결문자열 점검 등을 해 볼것!


색인

상단 메뉴 중 색인 > 색인실행 클릭 후 해당 컬렉션에 대해 전체 색인 [실행]하여 검색 엔진이 데이터 소스를 읽도록 색인 실행.

참고: 색인시 시작부분에서 띄웠던 start.cmd를 통한 명령창을 잘 살펴보아 Error가 뜨지 않는지 확인하고 만약 뜨면 컬렉션 스키마를 점검.


검색 테스트

상단 메뉴 중 테스트 클릭

검색 파라미터들을 현재 컬렉션에 맞도록 입력 후 [검색] 버튼 클릭하여 검색 결과 확인!

위와 같이 검색 결과가 뜨면 성공!!!

※ 웹검색 연동 팁

Firebug 등의 툴에서 HTTP 요청 헤더를 보면

  1. Request URL:
    http://localhost:8080/search/json
  2. Request Method:
    POST
  3. Form Data: ......

와 같이 HTTP GET 요청하고 검색 결과를 json로 응답 받을 수 있음을 알 수 있습니다.

※ 검색 명령들은 fastcat 홈페이지의 다운로드 게시판에서 쿼리메뉴얼 다운받아 참고.


색인 작업주기 설정

fastcat OSS 1.5 버전에서의 색인 작업주기 설정은 웹관리 페이지에서 지원되지 않습니다.

C:\fastcat\conf\schedule.conf 파일을 텍스트 편집기로 열고 다음의 설명을 참고로 편집.

#전체색인/증분색인 주기 설정
#
#[Collection Name].[full / inc]=[YYYY-MM-DD HH/:mm],[주기시간],[Y/N]
#
#첫번째 []는 작업스케쥴러를 적용할 컬렉션명입니다.
#두번째[]는 전체색인(full), 부분색인(inc)중 택일해서 적습니다.
#세번째[]는 스케쥴러 시작날짜입니다.
#네번째[]는 작업주기를 설정하는 부분입니다. D/d(일), H/h(시간), M/m(분), S/s(초) 입니다.
#다섯번째[]는 스케쥴러 적용을 여부를 적는부분입니다. Y는 하겠다, N은 안하겠다입니다.

sample.full=2011-01-01 12\:00,1m,N

testJob=com.websqrd.fastcat.ir.job.TestJob,hello,2011-01-01 12\:00,1d,N

※ 위의 스케쥴 설명은 fastcat 사용자포럼의 '오산돌구'님 코멘트에서 얻었습니다.


윈도우 서비스 설정

start.cmd 실행했던것을 시스템 시작시마다 실행시켜야 하는데

윈도우에서는 명령창에서 실행되는 자바 프로그램을 백그라운드 프로세스로 돌릴 수도 없고 백그라운드에서 돌려진다고 해도 로그아웃 해버리면 실행이 중지됩니다.

시작 프로그램에 넣어 놓거나 레지스트리의 run 항목에 넣어봤자 사용자 로그인을 해야 실행됩니다.

시스템 시작시 실행하는 리눅스의 데몬 같은 역할을 하는것이 Windows Service 입니다.


* FastCat에서 제공하는 서비스 등록법

C:\fastcat\service\windows\service.bat 파일을 텍스트 편집기로 열고

set PR_CLASSPATH=... 마지막에 ;%LIB%\sqljdbc4.jar 를 추가해 줍니다.
set PR_JVM=... 경로를 서버 환경에 맞게 변경하여 줍니다.


윈도우 cmd.exe 명령창을 띄우고 다음의 명령을 입력.

C:\fastcat 설치경로\service\windows\service.bat install FastCat

시작 > 실행 > services.msc 실행하여 보면
서비스에 FastCat SearchEngine이 추가 되어 있을 것입니다.

이제 명령창에서 서비스(데몬)을 시작하여 봅시다.

C:\fastcat 설치경로\service\windows\startd.bat

실행하면 아파치 아이콘과 함께 창이 하나 뜨고 집니다.

이후, 트레이 영역을 보면 서비스(데몬) 컨트롤 할 수 있도록 아이콘이 상주하고 있을 것입니다.

서비스 시작과 중지는

net start|stop FastCat

서비스의 제거는 다음과 같은 명령으로 가능합니다.

C:\fastcat 설치경로\service\windows\service.bat remove FastCat


* 윈도우 예약 작업 셋팅 (FastCat 제공 서비스 등록으로 localhost:8080 접속 안될때)

개인적으로는 FastCat에서 제공되는 서비스로는 무슨 문제가 있는지 localhost:8080 접속이 불가했습니다.

차선책으로 윈도우 스케쥴러인 예약된 작업을 통해 start.cmd를
'컴퓨터를 시작할때 실행'으로 등록시키고
등록된 속성 중 '설정' 탭의 모든 체크 해제
로 셋팅하였습니다.


이상으로 fastcat의 간단한 설치 과정을 마칩니다.

댓글