簡體   English   中英

SQL Server 2005 FTS意外結果

[英]SQL Server 2005 FTS unexpected results

我有一個包含兩列的索引視圖,一個主鍵char和一個用於全文索引varchar(300)的字段。 我需要從MS Great Plains數據庫中進行搜索,因此我創建了一個視圖,以使用主表IV00101中的串聯值填充字段。

CREATE VIEW SearchablePartContent WITH SCHEMABINDING AS 
SELECT ITEMNMBR, rtrim(ITEMNMBR)+' '+rtrim(ITMSHNAM)+' '+rtrim(ITMGEDSC)
 as SearchableContent
FROM dbo.IV00101
GO
-- create the index on the view to be used as full text key index
CREATE UNIQUE CLUSTERED INDEX IDX_ITEMNMBR ON SearchablePartContent(ITEMNMBR)
CREATE FULLTEXT INDEX ON SearchablePartContent(SearchableContent) KEY INDEX IDX_ITEMNMBR ON Cat1_PartContent
WHILE fulltextcatalogproperty('Cat1_PartContent','populatestatus') <> 0
BEGIN
 WAITFOR DELAY '00:00:01'
END

問題是,當我使用特定的關鍵字進行搜索時,會產生意外的結果。 例如一個簡單的查詢,例如:

SELECT * FROM SearchablePartContent WHERE CONTAINS(SearchableContent, 'rotor')

應該會產生5個結果,而不是1。大約有72,000條記錄被索引。 但是,如果我進行LIKE比較,則會得到預期的行。 我的數據並不復雜,這是應該從查詢中返回的幾個結果,但不是:

  1. MN-H151536 John Chopper,轉子組件Monkey 8820,9600,8820FRT
  2. MN-H152756約翰轉子,軸承9650STS,9750STS1
  3. MN-H160613約翰轉子,軸承9650STS,9750STS2

任何幫助將不勝感激。 謝謝

只是想一想:嘗試用雙引號將搜索詞引起來,以查看它是否有所不同。

SELECT * FROM SearchablePartContent WHERE CONTAINS(SearchableContent, ' "rotor" ')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM