테스트 사이트 - 개발 중인 베타 버전입니다

juso.sir.co.kr 도로명 주소 검색 시스템 구축 가이드 - Sphinx 검색엔진 설치

· 11년 전 · 2351 · 2

Sphinx 검색 엔진을 서버에 설치하기 위해서는 관리자 권한(root)이 필요하기 때문에 단독 서버를

운영하는 경우가 아니라면 설치가 불가능합니다. 가상 서버에는 설치가 가능할 수도 있지만 600만건이

넘는 주소 데이트를 처리하기 위해서는 메모리 사용량이 많기 때문에 가상 서버에 설치하는 것은 힘들 것 같습니다.

 

설치 서버는 CentOS 5.x 환경이며 여타 서버 프로그램처럼 소스 컴파일을 통해 프로그램을 설치합니다.

설치 전 먼저 확인해야할 내용은 웹서비스를 위한 웹서버와 PHP, 주소 데이터 인덱싱을 위한 MySQL 또는

MariaDB 등의 DB서버 설치여부입니다. 이 두 서버가 서버에 먼저 설치되어 있다고 가정하고 진행하겠습니다.

여기서는 웹서버 등의 설치는 따로 설명하지 않습니다. juso.sir.co.kr 에서는 MariaDB 서버를 사용했습니다.

설치 서버의 MariaDB는 /usr/local/mariadb 경로에 설치되어 있습니다.

 

0. DB 서버 라이브러리 등록

Sphinx 설치와 주소 데이터 인덱싱을 위해서는 먼저 해당 서버에 DB 라이브러리에 접근할 수 있도록 설정이

되어 있어야 합니다. 그렇지 않으면 인덱싱 때 DB 서버에 연결하지 못하는 오류가 발생합니다.

아래와 같은 명령어를 실행해서 MariaDB 라이브러리를 등록해 줍니다.

 

[code]

# echo "/usr/local/mariadb/lib" > /etc/ld.so.conf.d/mariadb.conf

# ldconfig 

[/code]

서버 환경이 다르다면 경로 등이 다를 수 있으니 서버 맞게 수정하셔서 실행해 주시면 됩니다.

 

1. Sphinx 설치

Sphinx 설치는 소스 다운로드 -> 컴파일 -> 설치 순으로 진행됩니다. 구축시 사용된 Sphinx 버전은 2.1.4이며

Sphinx 사이트를 방문하시면 최신 버전의 소스를 다운로드 할 수 있습니다.

 

[code]

# cd /usr/local/src

# wget http://sphinxsearch.com/files/sphinx-2.1.4-release.tar.gz

# tar zxvf sphinx-2.1.4-release.tar.gz

# cd sphinx-2.1.4-release

# ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mariadb

# make -j4

# make install 

[/code]

설치는 여타 프로그램의 설치과정과 비슷합니다.

 

다음 장에서는 주소 데이터를 인덱싱하기 위해 도로명 주소 데이터 입력 방법을 다루겠습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

흥미롭게 보고 있습니다.

명령러 -> 명령어 ㅎㅎ
수정했습니다.

게시글 목록

번호 제목
26560
24588
31642
31638
31633
31630
31625
19452
6719
6718
6717
6715
27797
30907
30904
6714
6713
27791
19450
6712
6711
6709
6708
27790
19447
6706
6703
6702
6701
6697
6692
27783
6691
6687
6685
6683
6682
19446
27770
19445
27768
6681
6675
6674
19444
6672
6671
27761
6670
30900
24585
6660
6655
6653
31624
6651
31623
31621
19443
6650
31620
31619
31612
31611
27746
31605
6648
20781
31603
31600
6645
6643
6642
6640
20777
31597
6637
19442
31594
31591
31589
31586
31584
20758
19440
31575
31567
20747
6636
31563
31552
27743
24579
6630
6628
6620
6617
27732
24577
6616