sphinx #2 :: 스핑스크 쿼리 테스트 (sphinxQL + PHP연동)
오픈소스 검색엔진 뭐 사용할까? 가벼운 스핑크스(Sphinx) 사용해보자 (인트로)
Sphinx #1 :: 스핑크스 설치 및 환경설정
sphinx #2 :: 스핑스크 쿼리 테스트 (sphinxQL + PHP연동)
sphinx #3 :: MySQL에서 스핑크스 직접 join하기 (sphinxSE)
sphinx #4 :: 스핑크스 주기적 인덱스 방법 (delta + crontab)
이전 포스트을 통해 아래와 같은 것을 했습니다.
- 스핑크스 설치
- 환경설정 (sphinx.conf)
- 인덱싱 생성
- 데몬 실행
- sphinxQL 실행
이번에는 sphinxQL을 통해 쿼리를 날려보고 동작원리 및 유용한 쿼리를 연습하는 시간을 가져보려 합니다.
기본
sphinxQL를 접속해주세요.
]$ mysql -h0 -P9306
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 2.2.11-id64-release (95ae9a6)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show tables;
+--------------+-------+
| Index | Type |
+--------------+-------+
| sph_zip_code | local |
+--------------+-------+
1 rows in set (0.00 sec)
기본적인 문법은 일반 sql문과 동일합니다.
show tlabes를 통해 스핑크스의 테이블을 확인 할 수 있습니다.
select도 해볼까요?
MySQL [(none)]> select * from sph_zip_code;
+--------+--------+------------------+--------------------------------+
| id | add1 | add3 | address |
+--------+--------+------------------+--------------------------------+
| 100011 | 서울 | 충무로1가 | 서울 중구 충무로1가 |
| 100012 | 서울 | 충무로2가 | 서울 중구 충무로2가 |
| 100013 | 서울 | 충무로3가 | 서울 중구 충무로3가 |
| 100014 | 서울 | 충무로4가 | 서울 중구 충무로4가 |
| 100015 | 서울 | 충무로5가 | 서울 중구 충무로5가 |
| 100021 | 서울 | 명동1가 | 서울 중구 명동1가 |
| 100022 | 서울 | 명동2가 | 서울 중구 명동2가 |
| 100031 | 서울 | 저동1가 | 서울 중구 저동1가 |
| 100032 | 서울 | 저동2가 | 서울 중구 저동2가 |
| 100041 | 서울 | 남산동1가 | 서울 중구 남산동1가 |
| 100042 | 서울 | 남산동2가 | 서울 중구 남산동2가 |
| 100043 | 서울 | 남산동3가 | 서울 중구 남산동3가 |
| 100051 | 서울 | 회현동1가 | 서울 중구 회현동1가 |
| 100052 | 서울 | 회현동2가 | 서울 중구 회현동2가 |
| 100053 | 서울 | 회현동3가 | 서울 중구 회현동3가 |
| 100060 | 서울 | 남창동 | 서울 중구 남창동 |
| 100070 | 서울 | 소공동 | 서울 중구 소공동 |
| 100080 | 서울 | 북창동 | 서울 중구 북창동 |
| 100091 | 서울 | 남대문로1가 | 서울 중구 남대문로1가 |
| 100092 | 서울 | 남대문로2가 | 서울 중구 남대문로2가 |
+--------+--------+------------------+--------------------------------+
select * from sph_zip_code를 한 결과는 sphinx.conf 파일에 설정 데이터에 의거하여 나온 결과물입니다.
]$ vi /etc/sphinx/sphinx.conf
#############################################################################
## source settings
#############################################################################
source sph_zip_code
{
type = mysql
sql_host = mysql ip주소 (localhost)
sql_user = 계정명
sql_pass = 패스워드
sql_db = DB명
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query_pre = SET SESSION query_cache_type=OFF
sql_query = \
SELECT seq, zip_code, add1, add2, add3, address \
FROM zip_code
sql_field_string = add1
sql_field_string = add2
sql_field_string = add3
sql_field_string = address
}
- mysql에 있는 zip_code를 select하여
- zip_code, add1, add2, add3, address 컬럼을 index 시켰습니다.
- 결과적으로 sphinxQL에서 select * from sph_zip_code 를 질의하니 id(zip_code), add1, add3, address 컬럼이 조회됐습니다. (sql_field_string 설정한 값)
- 만약 sql_field_string 을 설정안했다면 select * from sph_zip_code의 결과는 id컬러만 보이게 됩니다.
구문검색
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('운산') limit 10, 20;
+--------+---------------------------+------------+--------------------------------------------------------------------------------------+
| add1 | add2 | add3 | address |
+--------+---------------------------+------------+--------------------------------------------------------------------------------------+
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용현리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 태봉리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수당리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수평리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 안호리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 여미리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 팔중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고풍리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 와우리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원평리 |
| 강원 | 강릉시 | 운산동 | 강원 강릉시 운산동 |
| 충남 | 서산시 | 대산읍 | 충남 서산시 대산읍 운산리 |
| 부산 | 해운대구 | 재송1동 | 부산 해운대구 재송1동 부산해운대경찰서 |
| 경남 | 창원시 마산합포구 | 해운동 | 경남 창원시 마산합포구 해운동 해운동두산1차아파트 (101~104동) |
| 전북 | 군산시 | 나운2동 | 전북 군산시 나운2동 금호타운1차아파트 (101~107동) |
| 전북 | 군산시 | 나운2동 | 전북 군산시 나운2동 금호타운2차아파트 (201~206동) |
| 부산 | 해운대구 | 좌1동 | 부산 해운대구 좌1동 해운대우체국 |
| 부산 | 해운대구 | | 부산 해운대구 해운대우체국사서함 |
| 부산 | 해운대구 | 중1동 | 부산 해운대구 중1동 해운대구청 |
| 부산 | 해운대구 | 우1동 | 부산 해운대구 우1동 대우월드마크해운대 (101~102동) |
+--------+---------------------------+------------+--------------------------------------------------------------------------------------+
결과를 보시면 유추되는 것이 몇가지 있습니다.
- 검색어("운산")이라는 단어는 add1, add2, add3, address 컬럼을 바라보고 조회된다.
- 검색어"운산") 을 "운", "산" 을 쪼개서 검색도 한다.
- "운산" 정확히 일치하는 단어가 점수가 높고, 쪼개진 단어가 점수가 낮다. 이를 합산한 순으로 정렬되는것으로 추정된다.
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산"') limit 100;
+--------+-----------+-----------+-----------------------------------------+
| add1 | add2 | add3 | address |
+--------+-----------+-----------+-----------------------------------------+
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 갈산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 가좌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 상성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 소중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원벌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용장리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 거성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 신창리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용현리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 태봉리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수당리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수평리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 안호리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 여미리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 팔중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고풍리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 와우리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원평리 |
| 강원 | 강릉시 | 운산동 | 강원 강릉시 운산동 |
| 경북 | 고령군 | 운수면 | 경북 고령군 운수면 운산리 |
| 충남 | 서산시 | 대산읍 | 충남 서산시 대산읍 운산리 |
| 충남 | 예산군 | 광시면 | 충남 예산군 광시면 운산리 |
| 전북 | 완주군 | 화산면 | 전북 완주군 화산면 운산리 |
| 전북 | 부안군 | 변산면 | 전북 부안군 변산면 운산리 |
| 경북 | 군위군 | 산성면 | 경북 군위군 산성면 운산리 |
| 충남 | 당진시 | 정미면 | 충남 당진시 정미면 대운산리 |
| 충남 | 당진시 | 합덕읍 | 충남 당진시 합덕읍 운산리 |
| 경기 | 포천시 | 창수면 | 경기 포천시 창수면 운산리 |
| 전남 | 담양군 | 대덕면 | 전남 담양군 대덕면 운산리 |
| 전남 | 화순군 | 남면 | 전남 화순군 남면 운산리 |
| 전남 | 나주시 | 동강면 | 전남 나주시 동강면 운산리 |
| 전북 | 진안군 | 진안읍 | 전북 진안군 진안읍 운산리 |
| 경남 | 함양군 | 백전면 | 경남 함양군 백전면 운산리 |
| 경북 | 청도군 | 청도읍 | 경북 청도군 청도읍 운산리 |
| 경북 | 성주군 | 용암면 | 경북 성주군 용암면 운산리 |
| 경북 | 안동시 | 일직면 | 경북 안동시 일직면 운산리 |
+--------+-----------+-----------+-----------------------------------------+
38 rows in set (0.00 sec)
"운산"만 검색하려면 어떻게 해야 할까요?
match('"운산"') 하시면 됩니다. 무엇이 다른거냐고요?
쌍따음표를 하지 않으면 -> '운산' -> "운산", "산운", "운", "산" 찾음
쌍따음표를 같이 넣으면 -> '"운산"' -> "운산" 찾음
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('충남 운산');
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('충남운산');
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('운산 충남');
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('운산충남');
+--------+---------------------+-----------+--------------------------------------------------------------------------------------+
| add1 | add2 | add3 | address |
+--------+---------------------+-----------+--------------------------------------------------------------------------------------+
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 갈산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 가좌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 상성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 소중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원벌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용장리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 거성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 신창리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용현리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 태봉리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수당리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수평리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 안호리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 여미리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 팔중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고풍리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 와우리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원평리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 삼거리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 야화리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 장화리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 화산리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 심암리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 용화리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 우기리 |
| 충남 | 논산시 | 채운면 | 충남 논산시 채운면 화정리 |
| 충남 | 서산시 | 대산읍 | 충남 서산시 대산읍 운산리 |
| 충남 | 예산군 | 광시면 | 충남 예산군 광시면 운산리 |
| 충남 | 논산시 | 강경읍 | 충남 논산시 강경읍 채운리 |
| 충남 | 아산시 | 영인면 | 충남 아산시 영인면 신운리 |
| 충남 | 아산시 | 둔포면 | 충남 아산시 둔포면 운교리 |
| 충남 | 아산시 | 둔포면 | 충남 아산시 둔포면 운용리 |
| 충남 | 예산군 | 응봉면 | 충남 예산군 응봉면 운곡리 |
| 충남 | 부여군 | 내산면 | 충남 부여군 내산면 운치리 |
| 충남 | 홍성군 | 갈산면 | 충남 홍성군 갈산면 운곡리 |
| 충남 | 천안시 동남구 | 청당동 | 충남 천안시 동남구 청당동 청당산운마을5단지아파트 (501~508동) |
| 충남 | 당진시 | 정미면 | 충남 당진시 정미면 대운산리 |
| 충남 | 당진시 | 합덕읍 | 충남 당진시 합덕읍 운산리 |
+--------+---------------------+-----------+--------------------------------------------------------------------------------------+
41 rows in set (0.00 sec)
- '충남 운산', '운산 충남', '충남운산', '운산충남' 다 결과가 같다.
- 충남운산 or 충남 or 운산 or 충 or 남 or 운 or 산 을 찾습니다.
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"충남""운산"') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"충남" "운산"') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산" "충남"') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산""충남"') limit 100;
+--------+-----------+-----------+-----------------------------------------+
| add1 | add2 | add3 | address |
+--------+-----------+-----------+-----------------------------------------+
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 갈산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 가좌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 상성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 소중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원벌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용장리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 거성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 신창리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용현리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 태봉리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수당리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수평리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 안호리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 여미리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 팔중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고풍리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 와우리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원평리 |
| 충남 | 서산시 | 대산읍 | 충남 서산시 대산읍 운산리 |
| 충남 | 예산군 | 광시면 | 충남 예산군 광시면 운산리 |
| 충남 | 당진시 | 정미면 | 충남 당진시 정미면 대운산리 |
| 충남 | 당진시 | 합덕읍 | 충남 당진시 합덕읍 운산리 |
+--------+-----------+-----------+-----------------------------------------+
24 rows in set (0.00 sec)
- 위의 결과 4개는 모두 같은 결과를 출력합니다.
- 충남 과 운산 포함한 row를 찾습니다.
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"충남"|"운산"') limit 100;
+--------+---------------------+------------+---------------------------------------------------------------------------------------+
| add1 | add2 | add3 | address |
+--------+---------------------+------------+---------------------------------------------------------------------------------------+
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 갈산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고산리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 가좌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 상성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 소중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원벌리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용장리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 거성리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 신창리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 용현리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 태봉리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수당리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 수평리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 안호리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 여미리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 팔중리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 고풍리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 와우리 |
| 충남 | 서산시 | 운산면 | 충남 서산시 운산면 원평리 |
| 충남 | 서산시 | 대산읍 | 충남 서산시 대산읍 운산리 |
| 충남 | 예산군 | 광시면 | 충남 예산군 광시면 운산리 |
| 충남 | 당진시 | 정미면 | 충남 당진시 정미면 대운산리 |
| 충남 | 당진시 | 합덕읍 | 충남 당진시 합덕읍 운산리 |
| 강원 | 강릉시 | 운산동 | 강원 강릉시 운산동 |
| 충남 | 부여군 | 충화면 | 충남 부여군 충화면 청남리 |
| 충남 | 부여군 | 충화면 | 충남 부여군 충화면 팔충리 |
| 충남 | 부여군 | 충화면 | 충남 부여군 충화면 |
3,274 rows in set (0.00 sec)
- 충남 또는 운산인 row 결과
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산" "충남" -"서산"') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산" "충남" -서산') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산" "충남" !"서산"') limit 100;
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('"운산" "충남" !서산') limit 100;
+--------+-----------+-----------+-----------------------------------------+
| add1 | add2 | add3 | address |
+--------+-----------+-----------+-----------------------------------------+
| 충남 | 예산군 | 광시면 | 충남 예산군 광시면 운산리 |
| 충남 | 당진시 | 정미면 | 충남 당진시 정미면 대운산리 |
| 충남 | 당진시 | 합덕읍 | 충남 당진시 합덕읍 운산리 |
+--------+-----------+-----------+-----------------------------------------+
3 rows in set (0.01 sec)
- "충남" 과 "운산"을 포함한 결과 중 "서산"은 제외시켜라
필드검색
# address 컬럼에서 운산 찾아라
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('@address "운산"');
# address, add1 컬럼에서 운산 찾아라
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('@(address, add1) "운산"');
# address 컬럼 제외한 컬럼에서 운산 찾아라
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('@!address "운산"');
# address, add1 컬럼 제외한 컬럼에서 "운산" 또는 "서산" 찾아라
MySQL [(none)]> select add1, add2, add3, address from sph_zip_code where match('@!(address, add1) "운산""서산"');
더 자세한 사항은 메뉴얼 참고 바랍니다.
[스핑크스 메뉴얼 바로가기]
PHP에서 사용하기
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set("display_errors","1");
//=============== 스핑크스 테스트 ===========================================================
$sphinx_con = mysqli_connect("스핑크스IP:9306", "", "","");
mysqli_query($sphinx_con, 'set names utf8');
$sql = "select * from sph_zip_code where match('운산') limit 10";
$rs = mysqli_query($sphinx_con, $sql);
$totalrows = mysqli_num_rows($rs);
while($row = mysqli_fetch_assoc($rs)) {
print_r($row);
}
[결과 화면]
Array
(
[seq] => 52522
[zip_code] => 799823
[sub_no] => 001
[add1] => 경북
[add2] => 울릉군
[add3] => 북면
[add4] => 현포리
[add5] =>
[number] =>
[bilding] =>
[chang_date] => 20040517
[address] => 경북 울릉군 북면 현포리
)
Array
(
[seq] => 52521
[zip_code] => 799822
[sub_no] => 021
[add1] => 경북
[add2] => 울릉군
[add3] => 북면
[add4] => 천부4리
[add5] =>
[number] =>
[bilding] =>
[chang_date] => 20040517
[address] => 경북 울릉군 북면 천부4리 )
.......
만약 connection 에러 발생되면 방화벽 내려보고 테스트해보세요.
그때 문제가 없다면 9306포트 방화벽에서 열어주세요.
일반적으로(sphinxQL, sphinxAPI)는 스핑크스 쿼리를 통해 pk를 뽑아 온 후 mysql에 where in(pk, pk, pk) 형식으로 실제 데이터를 가져옵니다.
저는 그게 싫어서 sphinxSE를 이용하여 바로 실제데이터와 join하여 데이터를 가져올 계획입니다.
다음편에서 그 사용방법을 다루도록 하겠습니다.
[참고]
https://sacstory.tistory.com/entry/Debain-%EA%B2%80%EC%83%89-%EC%97%94%EC%A7%84-Sphinx-%ED%95%9C%EA%B8%80-%EC%84%A4%EC%A0%95
http://sphinxsearch.com/
http://sphinxsearch.com/docs/manual-2.2.11.html#extended-syntax
본 글은 나의 다른 블로그(폐쇄예정) 에서 작성한 글을 이관한 포스팅입니다. (2018년 12월 5일 작성)
'개발 > MariaDB' 카테고리의 다른 글
[MySQL] MySQL 리플리케이션 UUID 관련 에러 (0) | 2022.10.25 |
---|---|
sphinx #4 :: 스핑크스 주기적 인덱스 방법 (delta + crontab) (0) | 2022.10.25 |
sphinx #3 :: MySQL에서 스핑크스 직접 join하기 (sphinxSE) (0) | 2022.10.25 |
Sphinx #1 :: 스핑크스 설치 및 환경설정 (0) | 2022.10.25 |
오픈소스 검색엔진 뭐 사용할까? 가벼운 스핑크스(Sphinx) 사용해보자 (인트로) (0) | 2022.10.25 |
댓글
이 글 공유하기
다른 글
-
sphinx #4 :: 스핑크스 주기적 인덱스 방법 (delta + crontab)
sphinx #4 :: 스핑크스 주기적 인덱스 방법 (delta + crontab)
2022.10.25 -
sphinx #3 :: MySQL에서 스핑크스 직접 join하기 (sphinxSE)
sphinx #3 :: MySQL에서 스핑크스 직접 join하기 (sphinxSE)
2022.10.25 -
Sphinx #1 :: 스핑크스 설치 및 환경설정
Sphinx #1 :: 스핑크스 설치 및 환경설정
2022.10.25 -
오픈소스 검색엔진 뭐 사용할까? 가벼운 스핑크스(Sphinx) 사용해보자 (인트로)
오픈소스 검색엔진 뭐 사용할까? 가벼운 스핑크스(Sphinx) 사용해보자 (인트로)
2022.10.25