文本可以使用markdown,bbcode,html等方式存儲在數據庫中。我應該從搜索條件中刪除任何允許的標籤嗎?您的標記解析器是否有任何方法來協助完成該任務?如何搜索允許標記的數據庫列?
我打算使用,如'%searchword%'查詢。全文搜索爲這種簡單的文本搜索提供了什麼好處?
更新:似乎有一個真正的多種方式來做到這一點。我會再澄清一下我的情況。對於公司的招聘信息網站,大約有5或7個varchar列可供搜索(其中4個將允許標記),在任何給定時間大約有150個活躍的招聘信息。
文本可以使用markdown,bbcode,html等方式存儲在數據庫中。我應該從搜索條件中刪除任何允許的標籤嗎?您的標記解析器是否有任何方法來協助完成該任務?如何搜索允許標記的數據庫列?
我打算使用,如'%searchword%'查詢。全文搜索爲這種簡單的文本搜索提供了什麼好處?
更新:似乎有一個真正的多種方式來做到這一點。我會再澄清一下我的情況。對於公司的招聘信息網站,大約有5或7個varchar列可供搜索(其中4個將允許標記),在任何給定時間大約有150個活躍的招聘信息。
如果您的文本上有任何類型的標記(例如HTML),則在索引和搜索過程中可能無法獲得很好的語言準確性。在這種情況下,您有兩種選擇 - 首選方法只是將文本數據存儲在varbinary(max)列中,並指示其文檔類型,以便可以對其進行過濾。如果這不是一種選擇,您可以考慮使用中性斷字器,並且如果可能的話,將標記數據(如HTML中的'br')添加到您的噪音詞列表中。
也參見:
替代:
我會使用一些外部全文搜索工具 - 例如,Lucene。
我會在單獨的字段中存儲該字段的條帶化版本並使用全文索引搜索。被剝離的字段將被更新爲使用觸發器的最新版本
不錯的鏈接...很多選擇! – dotjoe 2009-04-10 13:34:05