CONTAINSTABLE 構文
通常、次のように FROM 句で CONTAINSTABLE を使用します: SELECT * FROM
テーブル名,CONTAINTABLE(全文表,全文列,'検索条件') WHERE
……。
CONTAINSTABLE はクエリメソッドの点では CONTAINS とほぼ同じなので、詳細に説明する必要はありません。汚染可能
返されるのはクエリ条件を満たすテーブルであり、SQL ステートメントで通常のテーブルとして使用できます。
これら 2 つのテーブルの違いを比較する例を見てみましょう。
選択
FT_TBL.student_name,FT_TBL.student_score,KEY_TBL.RANK
レポート AS FT_TBL
INNER JOIN
CONTAINSTABLE( 学生, 住所,
'ISABOUT (都市の体重)
(.8)、郡ライト (.4))' ) AS KEY_TBL
ON FT_TBL.student_id =
KEY_TBL.[KEY]
KEY_TBL.RANKで注文
CONTAINSTABLE
返されたテーブルには、KEY、RANK という 2 つの特別な列が含まれています。
最初の部分では、全文インデックスが作成されるテーブルには一意のインデックスが必要であることを強調しました。この一意のインデックス列は次のようになります。
鍵。通常、テーブル結合の条件として使用します。
一部のWebサイトで検索すると、結果に一致度を示す数字「RANK」が表示されます。
これと同じようなものです。値は 0 ~ 1000 で、各行がクエリ条件に一致する度合いを示します。通常、RANK の値は降順に並べられます。
フリーテキスト
構文
FREETEXT は CONTAINS に似ていますが、CONTAINS ほど正確ではありません。 CONTAINSではクエリ条件の書き方に多くの要件があり、
FREETEXT は存在しません。任意の単語、フレーズ、文を使用できます。以下の例を見てください:
SELECT カテゴリ名
FROM
カテゴリ
自由テキスト (説明、
「最も甘いキャンディーのパンと乾燥した肉」 )
FREETEXTTABLE 構文
と CONTAINSTABLE
同様に、FREETEXTTABLE は KEY、RANK を含むテーブルを返します。例:
SELECT FT_TBL.CategoryName,
FT_TBL.Description,
KEY_TBL.RANK
カテゴリから FT_TBL
INNER JOIN
FREETEXTTABLE(カテゴリ、説明、
'最も甘いキャンディー)
パンと乾燥肉') AS KEY_TBL
ON FT_TBL.CategoryID = KEY_TBL.[KEY]
at
ASP で全文検索を使用する
Dim cnn
Dim
rs
Dim strSQL
strSQL = "SELECT book_name " &_
" "FROM
本 " &_
"WHERE CONTAINS( description, '" &
Request("search_condition") & "' )"
Set cnn =
Server.CreateObject("ADODB.Connection")
Set rs =
Server.CreateObject("ADODB.RecordSet")
cnn.Open "PROvider=sqloledb;datasource=.;initial
カタログ=書籍;ユーザーID=sa;pasWord=;"
rs.Open
strSQL,cnn
上記の例は非常に単純であり、説明のみを目的としています。 CONTAINS と CONTAINSTABLE の構文をマスターすれば、使い方は一般的な構文と同じです。
ADO クエリと同じです。
上記は全文検索アプリケーション (3) の内容です。その他の関連記事については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。