웹프로그래밍

Global It Leader!!


MySql


 
 

[MYSQL/MS-SQL] FULL TEXT SEARCH 간단히 정리

페이지 정보

작성자 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 5,031회 작성일 12-02-28 13:08

본문

[MS-SQL]

SELECT * FROM 테이블

WHERE CONTAINS(필드, '"검색어1" and "검색어2" and not "제외검색어" ');

 

[MYSQL]

SELECT * FROM 테이블

WHERE MATCH(필드) AGAINST("+검색어1 +검색어2 -제외검색어", IN BOOLEAN MODE);

 

MS-SQL과 MYSQL은 FULL TEXT를 지원합니다.

DB마다 약간의 차이가 있으면 100% 정확하지는 않다는 점을 알기 바랍니다.

 

 

1. 실제로 한 경우가 아닌 오류의 예입니다.

[MSSQL]

MSSQL은 검색어1, 검색어2, 제외검색어를 검색시 검색어를 임의로 분리 검색해서 처리합니다.

전문용어로 형태소 분석처리를 합니다.  그래서 에러가 발생하기도 합니다.

 

"MB대통령" 을 검색어로 검색하는 경우와

"대통령" 을 검색어로 검색하는 경우

"대통령께서" 을 검색어로 검색하는 경우 결과값이 같을수 있습니다.

 

"대통령" 만 검색해서 나오기때문입니다.

 

<== 나름 검색어를 넣고 테스트를 해 보면 비교적 정확하게 잘 나옵니다.

 

[MYSQL]

MYSQL은 검색어의 길이를 설정할수가 있습니다.

저는 2~10자의 검색어만 만들도록 설정해서 테스트를 했습니다.

 

"MB대통령" 을 검색어로 검색하는 경우와

"대통령" 을 검색어로 검색하는 경우

"대통령께서" 을 검색어로 검색하는 경우는 ?

 

이렇게 하면 첫번째의 경우(MB대통령)는 대통령으로 검색이 안 됩니다.

MB대통령 또는 MB*로  검색이 됩니다.

 

MYSQL의 경우는 검색어 앞에 +는 꼭 있어야 하는 단어 (단어 앞에 표시)

                                          -는 없어야 하는 단어     (단어 뒤에 표시)

                                          *는 like검색의 %와 동일 (단어 뒤에 표시)

 

색인단어는 임의로 DB에서 알아서 처리하기때문에 색인단어를 알수가 없습니다.

그래서 대통령이 색인단어에 포함이 안 되면 대통령으로 전부 검색이 안 될수도 있습니다.

이 경우 *를 이용한 대통령*  이렇게 검색을 하면 대통령으로 시작되는 글은 전부 검색이 됩니다.

 

다만 노무현대통령, 김대중대통령, 이명박대통령 등  이런경우는 대통령*으로 검색이 안 됩니다.

단순히 노무현으로 시작하던가 김대중, 이명박으로 시작하는 검색어로 검색을 해야 됩니다.

노무현* 김대중* 이명*   이렇게 해야 됩니다.

 

참고하세요.

댓글목록

등록된 댓글이 없습니다.

전체 56
게시물 검색
MySql 목록
번호 제목 글쓴이 조회 날짜
56 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 9839 05-07
55 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7481 07-27
54 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5925 07-28
53 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5762 07-29
52 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5643 07-18
51 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5580 07-18
50 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5555 07-18
49 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5502 07-28
48 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5145 07-18
47 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5078 08-03
열람중 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5032 02-28
45 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4736 07-30
44 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4697 01-05
43 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4637 08-16
42 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4610 02-29
41 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4553 02-21
40 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4552 02-27
39 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4426 02-29
38 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4414 03-05
37 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4411 02-27