2013-03-22 14 views
1

我想寫一個查詢來檢查用戶提供的輸入與我的表的列數據。我嘗試使用LIKE和CONTAINS,但它沒有爲我工作。例如我的表格數據中包含「Bar B Q Tonight」,如果用戶輸入「BBQ Tonight」,如何處理?我也爲我的桌面啓用了全文索引。我正在Visual Studio中使用sql server 2005。任何人都可以引導我嗎?如何檢查字符串的部分是否與sql表中的列數據相匹配

回答

1

一種處理方法是在您的桌子上創建單獨的列,其中將包含熱門搜索標籤或關鍵字,根據該列可以向用戶顯示結果。

+0

我不能這樣做,因爲我知道用戶會搜索什麼。我需要一個查詢來檢查表中數據是否存在子字符串 – 2013-03-22 08:06:26

+0

這是一個好主意。我只是想知道,如果最好將逗號分隔開來,或者將它們存儲在單獨的表中,並在當前表和標記表之間建立一對多關係。 – Rachcha 2013-03-22 08:06:27

+0

我認爲逗號分隔標籤會很好。 – 2013-03-22 08:10:26

0

同義詞和首字母縮寫詞是信息檢索系統(IR)的挑戰。 也許實現一個微小的首字母縮略詞擴展系統。縮略語和擴展條款。

當用戶輸入這樣的單詞時,您需要提供一些建議或擴展術語。就像Google提供的建議一樣,或者您可以顯示幾條類似的條款來換取查詢,並讓用戶決定哪些是相關的。

你需要最少三張表,因爲我設想它,但取決於上下文。

  1. 一個表格包含停用詞,因此您可以分析輸入短語中的每個詞並刪除所有停用詞。
  2. 然後搜索個別術語的縮寫表和如果 縮寫有一個以上的定義可以替代縮寫 每個定義,並將其傳遞迴用戶詢問哪個是相關 。如果這是網絡環境,則表示超鏈接列表。
相關問題