全文索引 Sql的Contains語法

2021-05-23 07:04:53 字數 1714 閱讀 5649

全文索引——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 等等。

以上例子都使用英文,不使用中文是因為有的查詢方式中文不支援

Oracle全文索引之六 附 CONTAINS函式

出處 remark beijing是乙個單詞,要用單引號括起來。remark hebei province是乙個片語,在單引號裡還要用雙引號括起來。remark 可以指定邏輯操作符 包括 and and not,or remark 上面的查詢將返回包含 nanjing road nanjing ea...

SQL 全文索引

在資料庫中快速搜尋資料,使用索引可以提高搜尋速度,然而索引一般是建立在數字型或長度比較短的文字型字段上的,比如說編號 姓名等字段,如果建立在長度比較長的文字型字段上,更新索引將會花銷很多的時間。如在文章內容欄位裡用lik e 語句搜尋乙個關鍵字,當資料表裡的內容很多時,這個時間可能會讓人難以忍受。在...

建立SQL全文索引

1.開啟全文索引和建立全文索引目錄 exec sp fulltext database enable exec sp fulltext catalog gf ft drop exec sp fulltext catalog gf ft create 為news表建立全文索引 可索引列為 title,...