2009-12-19 64 views
4

我正在構建一個門戶,它不是博客引擎,但非常類似於門戶。在SQL Server中,我有一個包含作爲「帖子」基礎的表的數據庫。這個帖子表包含以下幾列:ASP.NET C#在SQL Server數據庫表中搜索表

  • ID
  • 作者(S)
  • 標籤
  • 標題
  • 降價後的內容

這是我第一次建立這樣的門戶網站,我想實施某種ASP.NET搜索在這些行上,最好使用所有的專業版屬性(列),除了ID號。而且,從長遠來看,我正在考慮對這些帖子執行搜索和評論的可能性,這些帖子將存儲在不同的表格中。

是否有任何開源實現或示例代碼在線用於完成此搜索?如果不是,我該如何開始?你能指點我一些關於如何使用ASP.NET和C#完成這個任務的示例代碼的教程嗎?此外,谷歌(或其他公司)是否爲此創造了任何東西?

我希望我的問題不要太寬泛或模糊。提前致謝!

回答

9

您使用的是Sql Server 2008嗎?如果是這樣,你可以利用內置的full-text search features。然後,它將如同將用戶的(清理過的)輸入傳遞給sql查詢一樣簡單。

例如,下面的查詢將搜索用戶輸入文本的作者,標題和PostContent字段。

SELECT Author, Title FROM Posts 
WHERE CONTAINS((Author, Title, PostContent), @userInput); 

SQL Server 2008支持different search methods too,喜歡簡單的道理,加權字值,同義詞,接近和前綴搜索...這是相當真棒。

+0

你能指點我的教程w /示例代碼嗎?謝謝! – 2009-12-19 23:11:26

+1

下面是一個非常全面的演練:http://www.simple-talk.com/sql/learn-sql-server/understanding-full-text-indexing-in-sql-server/ – womp 2009-12-19 23:15:25

1

如果這是公開曝光,你可以隨時有谷歌索引它。谷歌有一個appliance,你也可以購買這樣做。

如果你不希望推出自己的,你可以看看:

  1. Sharepoint(常規[自帶贏2003+]或門戶服務器)
  2. SOLR(Apache的Lucene項目)

如果你想推出自己的,我建議看看SQL Server分析服務定期爲你建立搜索索引。

0

我同意Womp - 全文索引是要走的路。如果您需要索引的不僅僅是數據庫表,還可以查看NLucene

0

我認爲你應該嘗試使用Lucene,你可以使用它來索引你所有的數據並構建一個非常好的搜索引擎。 如果你喜歡,我可以提供更多的信息。