CONTAINSTABLE 구문
일반적으로 다음과 같이 FROM 절에 CONTAINSTABLE을 사용합니다. SELECT * FROM
table_name,CONTAINTABLE(fulltext_table,fullText_column,'검색 조건') WHERE
…….
CONTAINSTABLE은 쿼리 방식의 CONTAINS와 거의 동일하므로 자세히 설명할 필요가 없습니다. 컨테이너 가능
반환되는 것은 쿼리 조건을 만족하는 테이블로, SQL 문에서 일반 테이블처럼 사용할 수 있습니다.
두 테이블의 차이점을 비교하기 위해 예를 살펴보겠습니다.
선택
FT_TBL.student_name,FT_TBL.student_score,KEY_TBL.RANK
FROM 보고서 AS FT_TBL
INNER JOIN
CONTAINSTABLE( 학생, 주소,
'ISABOUT (도시 가중치
(.8), 카운티 라이트 (.4))' ) AS KEY_TBL
ON FT_TBL.student_id =
KEY_TBL.[KEY]
KEY_TBL.RANK별 순서
포함 가능
반환된 테이블에는 KEY, RANK라는 두 개의 특수 열이 포함되어 있습니다.
첫 번째 부분에서는 전체 텍스트 인덱스를 생성하려는 테이블에 고유한 인덱스가 있어야 함을 강조했습니다. 이 고유 인덱스 열은
열쇠. 우리는 일반적으로 이를 테이블 조인의 조건으로 사용합니다.
일부 웹사이트에서 검색하면 일치도를 나타내는 숫자가 결과에 나타나는데, RANK
이와 비슷합니다. 값의 범위는 0부터 1000까지이며 각 행과 쿼리 조건의 일치 정도를 식별합니다. 정도가 높을수록 RANK 값이 커집니다. 일반적으로 행은 RANK의 내림차순으로 정렬됩니다.
자유 텍스트
FREETEXT 구문은 CONTAINS와 유사하지만 CONTAINS만큼 정확하지는 않습니다. CONTAINS에는 쿼리 조건을 작성하는 방법에 대한 요구 사항이 많이 있으며,
FREETEXT는 존재하지 않으며 임의의 단어, 구 또는 문장일 수 있습니다. 아래 예를 살펴보세요.
SELECT CategoryName
FROM
카테고리
WHERE FREETEXT(설명,
'가장 달콤한 사탕 빵과 마른 고기' )
FREETEXTTABLE 구문
및 CONTAINSTABLE
마찬가지로 FREETEXTTABLE은 KEY, RANK가 포함된 테이블을 반환합니다. 예:
SELECT FT_TBL.CategoryName,
FT_TBL.Description,
KEY_TBL.RANK
FROM 카테고리 AS FT_TBL
INNER JOIN
FREETEXTTABLE(카테고리, 설명,
'가장 달콤한 캔디
빵과 건조 고기') AS KEY_TBL
ON FT_TBL.CategoryID = KEY_TBL.[KEY]
ASP
Dim cnn
Dim에서 전체 텍스트 검색 사용
rs
Dim strSQL
strSQL = "SELECT book_name " &_
" "FROM
books " &_
"WHERE CONTAINS( 설명, '" &
요청("검색_조건") & "' )"
cnn 설정 =
Server.CreateObject("ADODB.Connection")
rs = 설정
Server.CreateObject("ADODB.RecordSet")
cnn.Open "PRovider=sqloledb;datasource=.;initial
카탈로그=책;사용자 ID=sa;pasWord=;"
rs.Open
strSQL,cnn
위의 예는 매우 간단하며 설명을 위한 것입니다. CONTAINS 및 CONTAINSTABLE 구문을 익히기만 하면 사용법은 일반 구문과 동일합니다.
ADO 쿼리와 동일합니다.
위 내용은 전문검색어플리케이션(3) 내용입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!