본 문서는 open source lib 인 sphinx 라이브러리를 다운 받아 linux에 설치하여 검색엔진 환경을 셋팅 하는 것을 목적으로 한다.
mysql/php/java
아래의 사전에 준비되어야 한다.
n Linux 설치(cent OS, ubuntu)
n Jdk 설치 – 최신 jdk 를 다운받아 설치한다.
서버 정보 1 | |
IP |
|
Ssh |
|
Path |
|
서버 정보 2 | |
IP |
|
Ssh |
|
Path |
|
4. Sphinx 설치
http://sphinxsearch.com/downloads/ 에서 sphinx-2.0.6 tar.gz 파일 다운로드
n sphinx 홈페에지에서 파일을 다운받아 /usr/local/{ } 으로 파일을 이동시킨다.
n Install the packages needed
apt-get install gcc make libmysqlclient15-dev libmysql++-dev
n Decompress it
tar xvfz sphinx-*.tar.gz
n Enter its directory
cd sphinx-*
n Run configure
./configure --prefix=/usr/local/sphinx --with-mysql
n Compile Sphinx
make
n Install Sphinx (as root)
make install
참조 : http://acidborg.wordpress.com/2009/11/22/how-to-install-and-configure-sphinx-in-ubuntu-9-10-with-mysql-support/
n 스핑크스를 설치하게 되면 다음 위치에 설치된다.
# /usr/local/sphinx : ${sphinxhome}
① 스핑크스가 설치된 디렉토리로 이동한다.
# cd /usr/local/sphinx/ext
② 5.2 ext폴더의 파일 확인
n example.sql - 샘플로 사용할 테이블 정보 및 데이터 정보 쿼리가 들어 있습니다.
n sphinx-min-conf.dist
n sphinx.conf.dist - DB 정보, 캐릭터 셋 정보, 인덱스 정보 등의 설정 정보를 담고 있습니다.
③ 위 파일 중 sphinx.conf.dist의 데이터를 기반으로 파일을 sphinx.conf 로 복사여 사용합니다
# cp sphinx.conf.dist sphinx.conf
# vi sphinx.conf
##################################################################### # pre-query, executed before the main fetch query sql_query_pre = SET NAMES utf8 #block 되어있으니 풀어준다.
#스핑크스에서 한글을 사용하기 위해서는 sphinx.conf 을 아래와같이 수정해야 합니다. # charset encoding type |
U+430..U+44F #제공되는 원본 charset_table = 0..9, A..Z->a..z, _, a..z, U+AC00..U+D7A3, U+1100..U+1159, U+1161..U+11A2, U+11A8..U+11F9 #한글을 사용하기위한 charset_table
# n-gram length to index, for CJK indexing ngram_chars = U+AC00..U+D7A3
|
6.1. example.sql 파일 sample db으로 dump 이동
# cd /usr/local/sphinx/etc
# mysql -u root -p test < /usr/local/sphinx/etc/example.sql
# /usr/local/sphinx/bin/indexer
또는
#/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all
6.2.1. 전체
인덱싱
# /usr/local/sphinx/bin/indexer --all
6.2.2. 실행
중
전체
인덱싱
# /usr/local/sphinx/bin/indexer --all --rotate
PHP
스크립트에서
인덱스
쿼리를
사용할
경우
① search
데몬을
실행해야
한다
.
# cd /usr/local/sphinx/etc
# /usr/local/sphinx/bin/searchd
(
데몬
종료시
#pkill -9 searched)
② 샘플파일
폴더에
접근하여
파일
실행
# cd /usr/local/sphinx-2.0.6-release/api
# php test.php
국어
# php test.php [
검색어
]
③
검색결과
Sample
|
5.5.4 shell
테스트
./search [
검색어
]
http://system.neulwon.com/xe/?document_srl=873&mid=linux_os&sort_index=readed_count&order_type=desc
http://sphinxsearch.com/docs/current.html#installing - 공식 스핑크스 사이트
n Run Configurations 설정
l Arguments 값으로 검색 하고자 하는 값을 입력 합니다. ex:) 국어
l Run 버튼을 클릭하여 실행
'JAVA' 카테고리의 다른 글
대용량 검색 방법 Mybatis ResultHander (2) | 2015.01.29 |
---|---|
JAVA custom listener (0) | 2015.01.15 |
Apache HttpClient - Rest call Client (0) | 2013.05.03 |
Resfull 종류 (0) | 2013.05.03 |
eclipse maven war (0) | 2012.07.24 |