[英]Full Text Search Using Multiple Partial Words
我有一個 sql server 數據庫,里面有醫學描述。 我已經在上面創建了一個全文索引,但我仍在弄清楚它是如何工作的。
最簡單的例子是如果有Hypertensive heart disease
的描述
現在他們希望能夠輸入hyp hea
作為搜索詞並讓它返回。
所以從我讀過的內容來看,我的查詢似乎需要類似於
DECLARE @Term VARCHAR(100)
SET @Term = 'NEAR(''Hyper*'',''hea*'')'
SELECT * FROM Icd10Codes WHERE CONTAINS(Description, @Term)
如果我取出 Hypertensive 和 heart 的通配符,並輸入它有效的完整單詞,但添加通配符沒有任何回報。
如果它有任何區別,我正在使用 Sql Server 2017
所以這是一個奇怪的語法問題,沒有導致錯誤,但停止了搜索工作。
我把它改成
SELECT * FROM Icd10Codes where CONTAINS(description, '"hyper*" NEAR "hea*"')
這里的關鍵是我需要雙引號"
而不是單引號。我假設它是兩個單引號,第一個轉義第二個,但它實際上是雙引號。上面的查詢完全按預期返回結果。
這將起作用:
SELECT * FROM Icd10Codes where SOUNDEX(description)=soundex('Hyp');
SELECT * FROM Icd10Codes where DIFFERENCE(description,'hyp hea')>=2;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.