SQL Server之2 全文搜尋 2

2022-08-20 09:06:14 字數 3659 閱讀 4536

這裡主要講全文搜尋裡面用到的 contains 函式,摘錄別人的文章,感覺寫的好,拿來分享一下。

假設有表 students,其中的 address 是全文字檢索的列。

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

select

student_id,student_name

from

students

where

contains

( address, 

'beijing'2

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

select

student_id,student_name

from

students

where

contains

( address, 

'"heibei province"')

remark: hebei province是乙個片語,在單引號裡還要用雙引號括起來。 

中國網管論壇bbs.bitscn.com

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

select

student_id,student_name

from

students

where

contains

( address, 

'"heibei province" or beijing')

remark: 可以指定邏輯操作符(包括 

and,

andnot,or

4. 查詢有 

'南京路

'字樣的位址

select

student_id,student_name

from

students

where

contains

( address, 

'nanjing near road')

remark: 上面的查詢將返回包含 

'nanjing road',

'nanjing east road',

'nanjing west road'5

. 查詢以 '湖

'開頭的位址

select

student_id,student_name

from

students

where

contains

( address, 

'"hu*"')

remark: 上面的查詢將返回包含 

'hubei',

'hunan

'等字樣的位址。

記住是 

*,不是 %。 

網管論壇bbs_bitscn_com

6. 類似加權的查詢

select

student_id,student_name

from

students

where

contains

( address, 

'isabout (city weight (.8), county wright (.4))')

remark: isabout 是這種查詢的關鍵字,weight 指定了乙個介於 0~

7. 單詞的多型查詢

select

student_id,student_name

from

students

where

contains

( address, 

'formsof (inflectional,street)')

remark: 查詢將返回包含 

'street',

'streets

'這裡主要講全文搜尋裡面用到的 contains 函式,摘錄別人的文章,感覺寫的好,拿來分享一下。

假設有表 students,其中的 address 是全文字檢索的列。

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

select

student_id,student_name

from

students

where

contains

( address, 

'beijing'2

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

select

student_id,student_name

from

students

where

contains

( address, 

'"heibei province"')

remark: hebei province是乙個片語,在單引號裡還要用雙引號括起來。 

中國網管論壇bbs.bitscn.com

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

select

student_id,student_name

from

students

where

contains

( address, 

'"heibei province" or beijing')

remark: 可以指定邏輯操作符(包括 

and,

andnot,or

4. 查詢有 

'南京路

'字樣的位址

select

student_id,student_name

from

students

where

contains

( address, 

'nanjing near road')

remark: 上面的查詢將返回包含 

'nanjing road',

'nanjing east road',

'nanjing west road'5

. 查詢以 '湖

'開頭的位址

select

student_id,student_name

from

students

where

contains

( address, 

'"hu*"')

remark: 上面的查詢將返回包含 

'hubei',

'hunan

'等字樣的位址。

記住是 

*,不是 %。 

網管論壇bbs_bitscn_com

6. 類似加權的查詢

select

student_id,student_name

from

students

where

contains

( address, 

'isabout (city weight (.8), county wright (.4))')

remark: isabout 是這種查詢的關鍵字,weight 指定了乙個介於 0~

7. 單詞的多型查詢

select

student_id,student_name

from

students

where

contains

( address, 

'formsof (inflectional,street)')

remark: 查詢將返回包含 

'street',

'streets

'

SQLServer全文搜尋

全文搜尋的核心引擎建立在 microsoft full text engine for sql server msftesql 服務提供支援 使用全文搜尋可以快速 靈活地為儲存在 microsoft sql server 資料庫中的文字資料的基於關鍵字的查詢建立索引。與僅適用於字元模式的 like ...

SQLServer全文搜尋

全文搜尋的核心引擎建立在 microsoft full text engine for sql server msftesql 服務提供支援 使用全文搜尋可以快速 靈活地為儲存在 microsoft sql server 資料庫中的文字資料的基於關鍵字的查詢建立索引。與僅適用於字元模式的 like ...

sql server 全文搜尋(全文索引)

參考 按照鏈結方式建立全文索引 使用 全文查詢使用全文謂詞 contains 和 freetext 以及全文函式 containstable 和 freetexttable 它們支援複雜的 transact sql 語法,這種語法支援各種形式的查詢詞。若要編寫全文查詢,必須了解何時以及如何使用這些謂...