您在网站上提供搜索功能的首选方法是什么?目前,我倾向于在索引服务/ 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. Android上使用哪种webservice技术?
- 7. 2048使用哪种渲染技术?
- 8. apache php使用哪种缓存技术
- 9. 用于实时数据聚合的哪种技术(SQL/NoSQL)
- 10. 哪种浏览器插件技术用于跨平台设计?
- 11. 哪一种安全技术用于Apache和PHP?
- 12. C/C++程序的API。哪种技术?
- 13. W3C Web Content Accessibility Guidelines 1.0,我可以使用哪种技术?
- 14. 开发Web服务时我们可以使用哪种技术?
- 15. ASP.NET MVC是一种敏捷技术?
- 16. 本网站用于路线搜索的技术是什么?
- 17. 用于移动Safari的最高性能实时搜索技术
- 18. 是ASP.NET Web部件一种可行的技术用于实现门户架构
- 19. 哪一个是搜索记录的最佳serach技术
- 20. 在SQL中搜索技术(Like,Contain)
- 21. Facebook搜索背后的技术
- 22. 哪种解决方案可用于详细的产品搜索?
- 23. 哪种字体嵌入技术可以抑制抗锯齿?
- 24. 哪种最可靠的网络推送通知技术?
- 25. js可视化 - 哪些技术用于此价格图表?
- 26. 使用哪种技术制作YouTube,如应用程序
- 27. 什么是用于索引文档和文本的好搜索技术
- 28. 我应该选择哪种技术用于3d globe web应用程序
- 29. 对于从大型元素中执行较少的搜索操作,哪种搜索技术足够好以至于不对元素进行排序?
- 30. 在一天内制作一个简单的可搜索人员及其技能目录 - 哪些技术?
Solr还提供了其他功能,您可能最终将通过Lucene.Net进行重新实现。例如:Solr可以将索引从一台机器复制到另一台机器,这可以帮助实现故障转移或性能。通过在多个“分片”服务器上自动发布查询,Solr可以帮助处理巨大的索引。使用DataImportHandler,Solr可以抓取SQL数据库并索引其中包含的数据,而无需额外的代码(只需XML配置)。主要的潜在缺点是,如果您需要自定义搜索代码,那么您现在必须在Java中执行该定制,而不是.NET。 – Chris 2010-05-26 20:15:15