2009-02-27 73 views
5

如何識別用戶在輸入搜索詞時錯過了空格?例如,如果用戶輸入「usbcable」,我想搜索「usb cable」。我正在MySQL中進行REGEX搜索以匹配完整的單詞。識別丟失空間

我有一個搜索中使用的每個術語表,所以我知道「usb」和「cable」是有效的術語。有沒有一種方法來構建一個WHERE子句,它會給我所有匹配字符串部分的行?

事情是這樣的:

SELECT st.term 
FROM SearchTerms st 
WHERE 'usbcable' LIKE '%' + st.term + '%' 

或者任何其他的想法?

+0

這是否查詢不工作? – 2009-02-27 07:19:16

回答

5

Text SegmentationNatural Language Processing的一部分,在此具體示例中是您要查找的內容。它用在搜索引擎和拼寫檢查器中,所以你可能會看到開源拼寫檢查器和搜索引擎的示例源代碼。

無論如何,拼寫檢查可能是正確的範例,因爲在嘗試撬開它之前,首先需要知道它是否合法。

- 亞當

0

發佈的意見,但我認爲它帶來了作爲一個重要的答案:

這是否查詢不工作? - 西蒙·巴肯

通過如下:

嗯,我應該已經測試過它,我 帳前。該查詢不起作用,但 它與CONCAT一樣,如下所示:WHHER 'usbcable'LIKE Con​​cat('%',st.term, '%')。我認爲這是最簡單的, 和最相關的(特定於我的 網站),要走的路。 - arnie0674

當然遠比文本分割爲這個應用程序更容易...

- 亞當