當前位置:開發者網絡 >> 技術教程 >> ASP教程 >> 全文檢索 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
全文本檢索的應用(二)
作者:未知
日期:2003-07-11
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
CONTAINS 語法

我們通常在 WHERE 子句中使用 CONTAINS ,就像這樣:SELECT * FROM table_name WHERE CONTAINS
(fullText_column,'search contents')。

我們通過例子來學習,假設有表 students,其中的 address 是全文本檢索的列。

1. 查詢住址在北京的學生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'beijing' )

remark: beijing是一個單詞,要用單引號括起來。

2. 查詢住址在河北省的學生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province"' )

remark: HEBEI province是一個詞組,在單引號裡還要用雙引號括起來。

3. 查詢住址在河北省或北京的學生


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"HEIBEI province" OR beijing' )

remark: 可以指定邏輯操作符(包括 AND ,AND NOT,OR )。

4. 查詢有 '南京路' 字樣的地址


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'nanjing NEAR road' )

remark: 上面的查詢將返回包含 'nanjing road','nanjing east road','nanjing west road' 等字樣的地址。
          A NEAR B,就表示條件: A 靠近 B。

5. 查詢以 '湖' 開頭的地址


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, '"hu*"' )

remark: 上面的查詢將返回包含 'hubei','hunan' 等字樣的地址。
          記住是 *,不是 %。

6. 類似加權的查詢


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )

remark: ISABOUT 是這種查詢的關鍵字,weight 指定了一個介於 0~1之間的數,類似係數(我的理解)。表示不同條件有不同的側
重。

7. 單詞的多態查詢


SELECT student_id,student_name
FROM students
WHERE CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )

remark: 查詢將返回包含 'street','streets'等字樣的地址。
         對於動詞將返回它的不同的時態,如:dry,將返回 dry,dried,drying 等等。
相關文章: