您在網站上提供搜索功能的首選方法是什麼?目前,我傾向於在索引服務/ SQL Server全文搜索上使用Lucene.net(因爲服務器端沒有設置任何內容),但是還有哪些其他方法可用?哪種搜索技術可用於ASP.NET?
回答
我們使用了Lucene.net,索引服務和SQL Server全文。對於具有大量且重的數據庫搜索功能的項目,SQL搜索在性能/資源命中方面佔據上風。否則Lucene在各方面都要好得多。
你可以使用谷歌,它不會是最快的索引,但它確實提供了很大的成績,當你有沒有預算。
dtSearch是我們經常使用的一個,但我並不是那麼喜歡它。
現在很多人都在使用Google的自定義搜索;即使是我知道的幾家銀行也將它用於其內聯網。
如果您需要爲網站的所有頁面(而不僅僅是Google索引)編制索引,或者如果您想爲您的Intranet網站創建搜索,Google Mini非常可愛。這會花費你一些錢,但在幾個小時內啓動並運行起來非常簡單。取決於需要索引的頁數,它可能會很昂貴。
看看Solr。它使用Lucene進行文本索引,但它是一個完整的http服務器,因此您可以通過http發佈文檔並使用url進行搜索。最好的部分是,它可以讓你從盒子中尋找,如果你自己做,它需要很多工作。
我使用dtSearch和我(種)喜歡它。這個API並不是世界上最好的.NET,但它可以完成工作,而且速度非常快。而且它很便宜,所以你的老闆會喜歡它(〜1,000美元)。
結果很不理想的東西,因爲它沒有做任何語義相關的排名或任何花哨的。不過,它比MS SQL服務器的任何工作都做得更好。
它有一個網絡蜘蛛,可以很容易地做一個網站上的快速搜索應用程序。如果您需要,您可以使用該API在數據庫中創建鉤子並提供物品級別的安全性 - 但您必須自己完成工作。他們的論壇留下了一些需要,但也許人們會開始在這裏張貼dtSearch的東西。 :)
有沒有人試過Microsoft搜索服務器快遞?
http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx
我還沒有嘗試過,但它可能是強大的。
從它看起來主要面向對SharePoint用戶,但考慮到其SDK我不明白爲什麼你不能使用它的一個普通的舊網站的搜索
我還建議SOLR網站。設置,維護和配置很容易。我發現它很穩定,易於擴展。有一個C#軟件包用於與solr進行交互。
- 1. 何時在Sharepoint開發中使用哪種搜索技術?
- 2. 如果數組未經排序,可以使用哪種搜索技術?
- 3. 哪種技術:PhoneGap,xml中的大數據和快速搜索?
- 4. 哪種技術更高效?
- 5. 哪種技術更好?
- 6. 哪種報告技術?
- 7. 哪種技術適用於構建可擴展的網站?
- 8. 哪種技術在這三種技術中速度會很快?
- 9. Android上使用哪種webservice技術?
- 10. apache php使用哪種緩存技術
- 11. 2048使用哪種渲染技術?
- 12. GMail使用哪種前端技術?
- 13. 關於哪種技術用於實時通知的建議
- 14. 用於實時數據聚合的哪種技術(SQL/NoSQL)
- 15. 哪種協議/技術用於有狀態連接?
- 16. 哪一種安全技術用於Apache和PHP?
- 17. 哪種瀏覽器插件技術用於跨平臺設計?
- 18. 哪種2D技術用於編碼超過1kb的數據?
- 19. C/C++程序的API。哪種技術?
- 20. 哪種.net技術可供桌面應用選擇?
- 21. 開發Web服務時我們可以使用哪種技術?
- 22. W3C Web Content Accessibility Guidelines 1.0,我可以使用哪種技術?
- 23. 哪個(web?)技術用於SSE
- 24. 哪種ASP.NET技術最適合URL觸發過濾器?
- 25. ASP.NET MVC是一種敏捷技術?
- 26. 哪種服務器端技術可用於小型企業網站?
- 27. 是ASP.NET Web部件一種可行的技術用於實現門戶架構
- 28. 用於高效搜索表格數據的數據庫技術?
- 29. 本網站用於路線搜索的技術是什麼?
- 30. 用於移動Safari的最高性能實時搜索技術
Solr還提供了其他功能,您可能最終將通過Lucene.Net進行重新實現。例如:Solr可以將索引從一臺機器複製到另一臺機器,這可以幫助實現故障轉移或性能。通過在多個「分片」服務器上自動發佈查詢,Solr可以幫助處理巨大的索引。使用DataImportHandler,Solr可以抓取SQL數據庫並索引其中包含的數據,而無需額外的代碼(只需XML配置)。主要的潛在缺點是,如果您需要自定義搜索代碼,那麼您現在必須在Java中執行該定製,而不是.NET。 – Chris 2010-05-26 20:15:15