like 검색 대신 fulltext 검색을 사용하려 하는데 데이터량 때문에 고민입니다.
그누보드의 검색 속도를 높이기 위해 fulltext 검색에 대해 살펴보고 있는 중입니다.
fulltext 검색은 mysql 기본 설정으로 4글자 이상의 단어에만 적용이 되는 것으로 알고 있습니다.
가령 이런 내용이 있다고 한다면
예1)
그누보드를 사용하여 만든 사이트 입니다.
기본적으로 검색이 되는 단어는 아래와 같이 단 두단어 입니다.
예2)
그누보드를
사용하여
"만든"과 "사이트" 그리고 "입니다"는 빠지게 되지요.
(특수문자 . 과 같은 것들은 검색에서 제외합니다.)
또한
예3)
누보드를
과 같은 4글자 단어도 검색이 안되지요.
예4)
보드를
도 마찬가지입니다.
예1에서
예5)
그누보드를
사용하여
만든
사이트
입니다
와 같이 공백으로 구분된 단어는 검색이 되게 하되
예6)
누보드를
보드를
드를
를
용하여
하여
여
든
이트
트
니다
다
와 같이 공백으로 구분되지 않은 단어는 검색이 안되게 하는 것입니다.
기술자가 방법을 다 알고 있다고 하여도 모든 것이 구현되도록 배포되는 코드에 담기는 상당히 어렵습니다.
여기서 여쭈어 볼것은
예5)와 같이 검색이 되면 된다. (공백으로 구분된 단어만 검색이 된다. 상대적으로 관리과 쉽고 데이터량이 적다)
예6)과 같이 검색이 되어야 한다. (모든 단어가 검색이 된다. 상대적으로 관리가 어렵고 데이터량이 많다)
입니다.
회원님들의 생각은 어떠신지요?
댓글 21개
7년 전
디비관련 클래스? 에서 mysql 버전을 확인하여 5.7.6 이상일때는 n-gram 방식의 fulltext 를, 그렇지 않은 경우에는 like 또는 my.cnf 를 수정할수있는 사람에 한해 fulltext 를 사용하도록 하는 옵션을 두면 괜찮을 것 같습니다! ㅎ
7년 전
그리고 N-gram 방식이 아닌경우 검색쿼리에서 키워드가 "그누"가 들어왔을때 MATCH(필드) AGAINST ('그누*' IN BOOLEAN MODE) 이렇게 쿼리를 땡기면 그누보드는 과 같이 그누로 띄워지지 않은 단어? 도 검색에 걸리게 할 수 있습니다.
다만 키워드로 "누보" 가 되었을때 *누보* 로 검색은 되지 않기때문에 "그누보드는 " 부분은 누보 라는 키워드론 안걸리지요. <- 이런 경우는 대략 무시해도 될듯!
N-GRAM 방식의 경우는 암거나 다 검색이 됩니다.
다만 키워드로 "누보" 가 되었을때 *누보* 로 검색은 되지 않기때문에 "그누보드는 " 부분은 누보 라는 키워드론 안걸리지요. <- 이런 경우는 대략 무시해도 될듯!
N-GRAM 방식의 경우는 암거나 다 검색이 됩니다.
7년 전
적고보니 설문하시는 의도와는 전혀 다른말만 적어놨네요 ㅠ _ㅠ
데이터량이 많아진다. 라는거 어떤의미인지 잘 몰라 설문에는 참여하지 못하였습니다.
데이터량이 많아진다. 라는게 검색에 걸리는 글이 많아서 혼란스러워진다? 라는 의미라면 기본적으로 Fulltext 검색은 해당 검색어가 많은 ROW순으로 보여주기 때문에 가장 일치하는 것부터 사용자가 보게 될테니 검색에 걸리는 글이 많아져도 크게 문제는 없을지도...
데이터량이 많아진다. 라는거 어떤의미인지 잘 몰라 설문에는 참여하지 못하였습니다.
데이터량이 많아진다. 라는게 검색에 걸리는 글이 많아서 혼란스러워진다? 라는 의미라면 기본적으로 Fulltext 검색은 해당 검색어가 많은 ROW순으로 보여주기 때문에 가장 일치하는 것부터 사용자가 보게 될테니 검색에 걸리는 글이 많아져도 크게 문제는 없을지도...
7년 전
fulltext로 index를 걸기 때문에 index데이터량이 많아진다는 이야기 아니실까요?
7년 전
네 리도님 말씀이 맞습니다.
7년 전
무슨말인지 못알아먹는 1인
6년 전
이건은 진행이 어느정되 되었을까요 관리자님 ?
6년 전
전 어려워 선배님들 만들어주시면 거기에 맞게 사용하겠습니다.
6년 전
쩜프기능이 있나요? -.-;
6년 전
이리 또 하나 배워 갑니다. ^^;
게시글 목록
| 번호 | 제목 |
|---|---|
| 9631 | |
| 9586 | |
| 9481 | |
| 9449 | |
| 9436 | |
| 9418 | |
| 9416 | |
| 9406 | |
| 9392 | |
| 9372 | |
| 9340 | |
| 9281 | |
| 9278 | |
| 9156 | |
| 9147 | |
| 9137 | |
| 9114 | |
| 9092 | |
| 9086 | |
| 9066 | |
| 9054 | |
| 9024 | |
| 9011 | |
| 8958 | |
| 8956 | |
| 8927 | |
| 8921 | |
| 8904 | |
| 8898 | |
| 8889 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기