將用戶輸入的搜索詞轉換爲可用於全文搜索的where子句的查詢的最佳方式是什麼?查詢表並獲取相關結果?將用戶輸入的搜索查詢轉換爲where子句以用於SQL Server全文搜索
+"e-mail" +attachment -"word document" -"e-learning"
應轉化爲類似:
SELECT * FROM MyTable WHERE (CONTAINS(*, '"e-mail"')) AND (CONTAINS(*, '"attachment"')) AND (NOT CONTAINS(*, '"word document"')) AND (NOT CONTAINS(*, '"e-learning"'))
我使用的是query parser class的那一刻,它分析用戶進入令牌查詢例如,下面的查詢用戶輸入使用正則表達式,然後從標記構造where子句。
但是,鑑於這可能是許多使用全文搜索的系統的常見要求,我很好奇其他開發人員是如何解決這個問題的,以及是否有更好的方法來處理這些問題。
我已經嘗試過了,它並不是那麼棒。 – 2009-09-01 18:18:35