database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6198 게시물 읽기
No. 6198
이런 종류의 SQL이 가능할까요?
작성자
초보
작성일
2005-07-01 21:34
조회수
2,021

테이블이 하나 있습니다. 필드중에서 영화제목이 있는 필드가 있는데

 

select title from movie where title like '%조용한%' OR title like '%가족%'

 

이라고 하면 '조용한', '가족'이 들어간 타이틀은 모두 나옵니다.

 

하지만 제일 중요한 '조용한 가족'은 처음에 나오지 않을 수도 있습니다.

 

이러한 경우 order by를 어떻게 해야 정확도가 가장 높은 '조용한 가족' 이 나올 수 있을까요?

 

위의 SQL에서 where 문장은 더 들어 갈수도 있습니다. 즉, '조용한 산장에 사는 가족' 과

 

같은 문장도 '조용한 가족' 과 우선순위는 같다고 가정합니다.

 

즉, 결론적으로 검색엔진과 비스무리하게 가장 높은 hit 률이 있는 title을 정렬하여 뽑을 수 있는 SQL이

 

가능할 것인가에 대한 질문이었습니다...

 

여러분들의 조언 부탁드립니다...

이 글에 대한 댓글이 총 2건 있습니다.

별도의 전문(Full Text) 검색 엔진 없이 pgsql 만으로는 불가능 할 것 같습니다. 검색 엔진 도입이 어렵다면 직접 검색 엔진 비슷한 것을 구현하시거나 해야 하지 않을까요?

그리고 제가 써본 전문 검색 엔진들에는 '조용한 가족'을 가장 먼저 보여주는 기능은 없었습니다. 제가 완전히 그 검색엔진들을 마스터 하지는 않았었지만 없을 것 같네요.

제가 써본 검색 엔진들(search97, K2, Softbot, wisnut, lucene 등)은 대부분 해당 단어가 어느 위치에 있느냐, 얼마나 자주 반복되느냐로 점수를 매겨서 순위를 정했었습니다.

 

박성철(gyumee)님이 2005-07-05 01:47에 작성한 댓글입니다.

해당 검색어에 대한 결과목록 중 사용자의 히트수가 가장 높은 것을 맨 위로 보내는 방안을 간구하여 보시면 어떨까요?

 

그러기 위해서는 자료에서 직접 검색하는 것이 아니라 자료를 검색한 결과만을 별도 테이블에 저장해 두었다가 그 데이터 부터 실제 사용자들의 히트 빈도수별로 정렬하면...

 

(만일 처음 들어오는 검색문이라면 그냥 자료에서 뒤져서 출력마게 되어야 하는 걸까요...음...이거 어째 SQL만으로 해결되는 문제는 아닐 듯 하네요.)

김영호(icepage)님이 2005-07-06 16:44에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6201윈도우즈에서 설치파일 설치시 [1]
엿장수
2005-07-02
1955
6200postgresql 설치파일을 [1]
엿장수
2005-07-02
1766
6199PostgreSQL속도 높이기(select) [4]
장송구
2005-07-01
3313
6198이런 종류의 SQL이 가능할까요? [2]
초보
2005-07-01
2021
6197급질문 !!!! 현재 접속해있는..디비명을 알수있는 함수.. [2]
한상호
2005-07-01
1604
6196trigger 내에서의 bool type
tyro
2005-07-01
1841
6195새로 계정을 만들어 로그인해서 실행해도 [2]
엿장수
2005-07-01
2068
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다