2008-11-21 63 views
1

我有一個TEXT列的表格,其中的內容只是CSV數字的字符串。例如「,1,76,77,115,」每個字符串可以有任意數量的數字。全文搜索單個字符

我想設置全文索引,以便我可以快速搜索此列。這很好。相反,與

where MY_COL LIKE '%,77,%' and MY_COL LIKE '%,115,%' 

運行查詢的我可以做

where CONTAINS(MY_COL,'77 and 115') 

然而,當我嘗試搜索單個字符,無法正常工作。

where CONTAINS(MY_COL,'1') 

但我知道應該有記錄返回!我很快發現我需要編輯Noise文件並重建索引。但即使這樣做,它仍然無法正常工作。

回答

2

使用關係數據庫的方式會受到影響。

使用適當的模式。可以將值存儲在不同的行中,也可以使用列的數組數據類型。

這將使解決問題微不足道。

+0

我同意,這是我想要做的。這是爲了實現'通用'搜索功能而對已經規範化的模式進行的「優化」...... *將頭部撞到桌子* – galuvian 2009-01-08 03:47:54

0

我修復了我自己的問題,雖然我不確定是什麼修復了它。

我放棄了我的表並填充了一個新的(我的程序執行批處理)並創建了一個新的全文索引。也許我沒有足夠的耐心讓索引完全重建。

0

同意。 12,15,33如何不返回全文搜索1的記錄?使用一個實際的表模式來實現這一點。