【发布时间】:2011-01-19 09:24:17
【问题描述】:
我正在建立一个公司网站。我们正在寻找任何基于 ASP.NET 的开源或付费搜索引擎。应该可以
- 搜索站点中所有页面的网页内容。
- 所有办公文件。等等。
- 如果我们有一些基于用户类型和 styff 的搜索结果过滤。
请告诉我我们需要考虑什么样的工具或软件。
【问题讨论】:
标签: asp.net sql-server search-engine
我正在建立一个公司网站。我们正在寻找任何基于 ASP.NET 的开源或付费搜索引擎。应该可以
请告诉我我们需要考虑什么样的工具或软件。
【问题讨论】:
标签: asp.net sql-server search-engine
Apache Lucene 是一个高性能、 功能齐全的文本搜索引擎 完全用Java编写的库。它 是一种适用于几乎 任何需要的应用程序 全文搜索,尤其是 跨平台。
Lucene.Net 是一个源代码, 每个类的类、每个 API 的 API 和 Java Lucene 的算法端口 搜索引擎到 C# 和 .NET 利用 Microsoft .NET 的平台 框架。
这里有一些教程链接可以帮助您入门:
【讨论】:
Solr 是另一个不错的选择,它实际上是 lucene 之上的一个外观,为您提供了一个不错的基于 REST/url 的 API。还有一个可用的、成熟的 .Net 库也可以使用它。
http://lucene.apache.org/solr/
http://code.google.com/p/solrnet/
不过,根据您的问题,您是在寻找实际的底层引擎,还是在寻找一些东西来抓取/遍历您的内容以建立您选择的搜索引擎的索引?
--
编辑以回复原始海报的评论。
这时你有两个方程要解。
首先选择一个响应输入(关键字)的搜索引擎,然后查询其索引并返回它认为相关的匹配项。等式的后半部分是找到一种机制来填充所选引擎的搜索索引。
就引擎而言,有人建议使用 Lucene,我建议使用 Lucene 的变体,它提供(可以说)改进的开发人员界面。在构建您的搜索语料库方面,这有点不同。在这里,您可以选择编写自己的软件来获取一段内容并将其添加到索引中。这里的优势是您可以对进入搜索引擎的内容和时间进行精细控制。不利的一面是您正在编写新代码——幸运的是,像 Lucene/Solr 这样的现代搜索引擎使它变得非常容易。
您的第二个选择是使用某些东西自动抓取您的内容并将其添加到索引中。这里的问题在于识别和学习配置适当的选项。根据您选择的爬虫,它可能会也可能不会很好地索引文件系统上的文档(例如在公司 Sharepoint 网站中)。
Nutch 是来自 Apache(Lucene 和 Solr 的制造商)的爬虫,如果您选择不编写自己的代码,则可能会使用它。 http://wiki.apache.org/nutch/
【讨论】: