SphinxSearch 설치시 여러게시판을 등록하려면 어떻게 하나요? 채택완료
eoqkrrmwj
2년 전
조회 2,433
위에 팁으로 SphinxSearch 설치를 했습니다.
다만 하나의 게시판만 적용을 하였는데요
여러게시판 예를 들어 게시판 테이블이 ww1,ww2,ww3 ~ ww20
이렇게 20개의 게시판이 있다면 다 적용시키려면 어느 소스를 변경해야하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
2년 전
똑같이 다음 3가지 모두 다 수정(추가)을 해줘야 합니다.
제일먼저 sphinx.conf 파일 열어서 데이터를 색인할 ww1,ww2,ww3 ~ ww20 필요한 만큼 게시판 데이터베이스 정보 및 쿼리 설정을 추가하고, 다음 인텍스 수정을 해주면되지않을까합니다.
1. indexer
: 색인을 수행하는 명령어입니다.
2. searchd
: 검색과 검색결과를 전송해주는 데몬입니다.
3. sphinx.conf
: 스핑크스 설정파일입니다. /etc/sphinx/sphinx.conf 에 위치합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 15개
e
eoqkrrmwj
2년 전
�
웅프
2년 전
네 실제 source g5_write_test 와 데이타베이스 이름이 board 라면 그대로 사용하시면됩니다.
만약 다른 게시판에 대한 데이터도 검색하려면게시판에 대한 데이터 쿼리를 예를 들어 다음과 같이 각각 추가해 주셔야 합니다.
source g5_write_test_1
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = root
sql_db = 실제 추가 데이타베이스 이름
sql_port = 3306
sql_query = SELECT wr_id id, 'test_1' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_test_1 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
그리고 inxdex 식별자를 추가 해주면 되겠습니다.
만약 다른 게시판에 대한 데이터도 검색하려면게시판에 대한 데이터 쿼리를 예를 들어 다음과 같이 각각 추가해 주셔야 합니다.
source g5_write_test_1
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = root
sql_db = 실제 추가 데이타베이스 이름
sql_port = 3306
sql_query = SELECT wr_id id, 'test_1' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_test_1 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
그리고 inxdex 식별자를 추가 해주면 되겠습니다.
e
eoqkrrmwj
2년 전
밑에 내용은 더 있지만 실제 이렇게 하면 오류가 나는데요
하나씩 다 추가해주는건 아닌듯하네요
source g5_write_ww1
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = aaw
sql_db = gg
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/mysql.sock
sql_query = SELECT wr_id id, 'ww1' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_ww1 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
index gg
{
source = g5_write_ww1
path = /var/lib/sphinx/gg
docinfo = extern
#morphology = stem_en
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
min_word_len = 1
#enable_star = 0
#min_prefix_len = 3
min_infix_len = 1
min_prefix_len = 0
ngram_chars = U+4E00..U+9FBB, U+3400..U+4DB5, U+20000..U+2A6D6, U+FA0E, U+FA0F, U+FA11, U+FA13, U+FA14, U+FA1F, U+FA21, U+FA23, U+FA24, U+FA27, U+FA28, U+FA29, U+3105..U+312C, U+31A0..U+31B7, U+3041, U+3043, U+3045, U+3047, U+3049, U+304B, U+304D, U+304F, U+3051, U+3053, U+3055, U+3057, U+3059, U+305B, U+305D, U+305F, U+3061, U+3063, U+3066, U+3068, U+306A..U+306F, U+3072, U+3075, U+3078, U+307B, U+307E..U+3083, U+3085, U+3087, U+3089..U+308E, U+3090..U+3093, U+30A1, U+30A3, U+30A5, U+30A7, U+30A9, U+30AD, U+30AF, U+30B3, U+30B5, U+30BB, U+30BD, U+30BF, U+30C1, U+30C3, U+30C4, U+30C6, U+30CA, U+30CB, U+30CD, U+30CE, U+30DE, U+30DF, U+30E1, U+30E2, U+30E3, U+30E5, U+30E7, U+30EE, U+30F0..U+30F3, U+30F5, U+30F6, U+31F0, U+31F1, U+31F2, U+31F3, U+31F4, U+31F5, U+31F6, U+31F7, U+31F8, U+31F9, U+31FA, U+31FB, U+31FC, U+31FD, U+31FE, U+31FF, U+AC00..U+D7A3, U+1100..U+1159, U+1161..U+11A2, U+11A8..U+11F9, U+A000..U+A48C, U+A492..U+A4C6
}
index ww1rt
{
type = rt
rt_mem_limit = 128M
path = /var/lib/sphinx/ww1rt
rt_field = title
rt_field = content
rt_attr_uint = gid
}
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}
source g5_write_ww2
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = aaw
sql_db = gg
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/mysql.sock
sql_query = SELECT wr_id id, 'ww2' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_ww2 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
index gg
{
source = g5_write_ww2
path = /var/lib/sphinx/gg
docinfo = extern
#morphology = stem_en
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
min_word_len = 1
#enable_star = 0
#min_prefix_len = 3
min_infix_len = 1
min_prefix_len = 0
하나씩 다 추가해주는건 아닌듯하네요
source g5_write_ww1
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = aaw
sql_db = gg
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/mysql.sock
sql_query = SELECT wr_id id, 'ww1' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_ww1 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
index gg
{
source = g5_write_ww1
path = /var/lib/sphinx/gg
docinfo = extern
#morphology = stem_en
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
min_word_len = 1
#enable_star = 0
#min_prefix_len = 3
min_infix_len = 1
min_prefix_len = 0
ngram_chars = U+4E00..U+9FBB, U+3400..U+4DB5, U+20000..U+2A6D6, U+FA0E, U+FA0F, U+FA11, U+FA13, U+FA14, U+FA1F, U+FA21, U+FA23, U+FA24, U+FA27, U+FA28, U+FA29, U+3105..U+312C, U+31A0..U+31B7, U+3041, U+3043, U+3045, U+3047, U+3049, U+304B, U+304D, U+304F, U+3051, U+3053, U+3055, U+3057, U+3059, U+305B, U+305D, U+305F, U+3061, U+3063, U+3066, U+3068, U+306A..U+306F, U+3072, U+3075, U+3078, U+307B, U+307E..U+3083, U+3085, U+3087, U+3089..U+308E, U+3090..U+3093, U+30A1, U+30A3, U+30A5, U+30A7, U+30A9, U+30AD, U+30AF, U+30B3, U+30B5, U+30BB, U+30BD, U+30BF, U+30C1, U+30C3, U+30C4, U+30C6, U+30CA, U+30CB, U+30CD, U+30CE, U+30DE, U+30DF, U+30E1, U+30E2, U+30E3, U+30E5, U+30E7, U+30EE, U+30F0..U+30F3, U+30F5, U+30F6, U+31F0, U+31F1, U+31F2, U+31F3, U+31F4, U+31F5, U+31F6, U+31F7, U+31F8, U+31F9, U+31FA, U+31FB, U+31FC, U+31FD, U+31FE, U+31FF, U+AC00..U+D7A3, U+1100..U+1159, U+1161..U+11A2, U+11A8..U+11F9, U+A000..U+A48C, U+A492..U+A4C6
}
index ww1rt
{
type = rt
rt_mem_limit = 128M
path = /var/lib/sphinx/ww1rt
rt_field = title
rt_field = content
rt_attr_uint = gid
}
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}
source g5_write_ww2
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = aaw
sql_db = gg
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/mysql.sock
sql_query = SELECT wr_id id, 'ww2' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_ww2 where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
index gg
{
source = g5_write_ww2
path = /var/lib/sphinx/gg
docinfo = extern
#morphology = stem_en
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
min_word_len = 1
#enable_star = 0
#min_prefix_len = 3
min_infix_len = 1
min_prefix_len = 0
�
웅프
2년 전
index gg 식별자는 중복 사용하시면않됩니다.
�
웅프
2년 전
그리고
g5_write_ww2 와 gg2 인덱스도 식별자를 설정해야 합니다:
g5_write_ww2 와 gg2 인덱스도 식별자를 설정해야 합니다:
e
eoqkrrmwj
2년 전
sql_db =
이부분은 실제 제 db를 넣는것이 아닌가요?
그리고
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}
이부분은 마지막에 한번만 넣으면 되는건가요?
이부분은 실제 제 db를 넣는것이 아닌가요?
그리고
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}
이부분은 마지막에 한번만 넣으면 되는건가요?
e
eoqkrrmwj
2년 전
해결되었습니다.
아 그리고 진심으로 감사드립니다.!!!
하지만 하나도 안빨라지는군요... 혹시 시간이 좀 지나야 하는 부분이 있을까요?
아 그리고 진심으로 감사드립니다.!!!
하지만 하나도 안빨라지는군요... 혹시 시간이 좀 지나야 하는 부분이 있을까요?
�
웅프
2년 전
네 맞아요 속도가 느리다는건가요?
e
eoqkrrmwj
2년 전
몇일이 걸릴수도 있나요?
e
eoqkrrmwj
2년 전
속도의 변화가 없습니다 ㅎㅎ;;
검색속도
검색속도
�
웅프
2년 전
그렇다면 캐싱은 필수로 하시구요
Sphinx 검색 서버의 하드웨어 리소스를 확인 해보세요.
메모리, CPU, 디스크 속도등등
일단 sphinx.conf 설정 부분 에서 메모리 할당 크기를 조금 늘려보시구요
indexer
{
mem_limit = 256M
}
설정변경후에는 Sphinx를 다시 시작 필히 하셔야합니다.
수고 하셨습니다.
항상 느림의 미학으로 찬찬 히 확인 또학인 하다보면 다 됩니다. 응원할께요 화이팅!~
Sphinx 검색 서버의 하드웨어 리소스를 확인 해보세요.
메모리, CPU, 디스크 속도등등
일단 sphinx.conf 설정 부분 에서 메모리 할당 크기를 조금 늘려보시구요
indexer
{
mem_limit = 256M
}
설정변경후에는 Sphinx를 다시 시작 필히 하셔야합니다.
수고 하셨습니다.
항상 느림의 미학으로 찬찬 히 확인 또학인 하다보면 다 됩니다. 응원할께요 화이팅!~
e
eoqkrrmwj
2년 전
제가 centos7 을 사용하는데요... centos6 을 적용한 설치 방법이었더라구요...
혹시 centos7 과 centos6 의 설치 차이가 있을까요?
혹시 centos7 과 centos6 의 설치 차이가 있을까요?
�
웅프
2년 전
네 있습니다. 업그레이드 해주세요
install sphinx
설치 후 sphinx.conf 파일을 편집하여 검색 인덱스와 소스를 확인하시고 정의 가 않되어있으면 재정의 해 주 셔야 합니다.
설정후에는 재시작하는것 필 해주시구요 또한 서버 재시작시 자동 부팅 되도록 해주시구요
install sphinx
설치 후 sphinx.conf 파일을 편집하여 검색 인덱스와 소스를 확인하시고 정의 가 않되어있으면 재정의 해 주 셔야 합니다.
설정후에는 재시작하는것 필 해주시구요 또한 서버 재시작시 자동 부팅 되도록 해주시구요
e
eoqkrrmwj
2년 전
아니요 해당 설명글이 centos6 이고 제가 centos7 입니다...
�
웅프
2년 전
아네 ;;;==;; 구성 차이는 없습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 3개
e
eoqkrrmwj
2년 전
혹시 팁을 좀 얻을 수 있을까요... 사이트가 문제인줄 알고 지금 사이트만 7개째 생성 삭제하고 있습니다..ㅠ
�
솔그루
2년 전
원글 작성자에게 요청하시는게 좋지 않을까요?
e
eoqkrrmwj
2년 전
쪽지를 보낼수가 없습니다.. 정보 공개를 안하셨더라구요 댓글도 못쓰게 되어 있구요
다른곳 답글을 적으신곳에 댓글을 달아놓긴했지만 보실지는 모르겠습니다...
다른곳 답글을 적으신곳에 댓글을 달아놓긴했지만 보실지는 모르겠습니다...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
1. indexer
: 색인을 수행하는 명령어입니다.
2. searchd
: 검색과 검색결과를 전송해주는 데몬입니다.
이 두가지는 컴프파일을 수정한 후에 한번씩 실행해주면 되는것 아니었나요?
/etc/sphinx/sphinx.conf 파일입니다. 여기서 수정을 어떻게 하는지 알고 싶습니다.
source g5_write_test
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = root
sql_db = board
sql_port = 3306 # optional, default is 3306
#sql_sock = /tmp/mysql.sock
sql_query = SELECT wr_id id, 'test' bo_table, wr_id, wr_parent, ca_name, wr_subject, wr_content, mb_id, wr_name, wr_ip, wr_is_comment, UNIX_TIMESTAMP(wr_datetime) AS wr_datetime FROM g5_write_test where wr_is_comment=0
sql_attr_string = ca_name
sql_field_string = wr_subject
sql_field_string = wr_content
sql_field_string = bo_table
sql_attr_uint = wr_id
sql_attr_uint = wr_parent
sql_attr_uint = wr_is_comment
sql_attr_timestamp = wr_datetime
}
index board
{
source = g5_write_test
path = /var/lib/sphinx/board
docinfo = extern
#morphology = stem_en
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
ngram_len = 1
min_word_len = 1
#enable_star = 0
#min_prefix_len = 3
min_infix_len = 1
min_prefix_len = 0
ngram_chars = U+4E00..U+9FBB, U+3400..U+4DB5, U+20000..U+2A6D6, U+FA0E, U+FA0F, U+FA11, U+FA13, U+FA14, U+FA1F, U+FA21, U+FA23, U+FA24, U+FA27, U+FA28, U+FA29, U+3105..U+312C, U+31A0..U+31B7, U+3041, U+3043, U+3045, U+3047, U+3049, U+304B, U+304D, U+304F, U+3051, U+3053, U+3055, U+3057, U+3059, U+305B, U+305D, U+305F, U+3061, U+3063, U+3066, U+3068, U+306A..U+306F, U+3072, U+3075, U+3078, U+307B, U+307E..U+3083, U+3085, U+3087, U+3089..U+308E, U+3090..U+3093, U+30A1, U+30A3, U+30A5, U+30A7, U+30A9, U+30AD, U+30AF, U+30B3, U+30B5, U+30BB, U+30BD, U+30BF, U+30C1, U+30C3, U+30C4, U+30C6, U+30CA, U+30CB, U+30CD, U+30CE, U+30DE, U+30DF, U+30E1, U+30E2, U+30E3, U+30E5, U+30E7, U+30EE, U+30F0..U+30F3, U+30F5, U+30F6, U+31F0, U+31F1, U+31F2, U+31F3, U+31F4, U+31F5, U+31F6, U+31F7, U+31F8, U+31F9, U+31FA, U+31FB, U+31FC, U+31FD, U+31FE, U+31FF, U+AC00..U+D7A3, U+1100..U+1159, U+1161..U+11A2, U+11A8..U+11F9, U+A000..U+A48C, U+A492..U+A4C6
}
index testrt
{
type = rt
rt_mem_limit = 128M
path = /var/lib/sphinx/testrt
rt_field = title
rt_field = content
rt_attr_uint = gid
}
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx/
}