如何在C#中构建搜索引擎

Kum*_*mar 11 c# asp.net-mvc search

我正在尝试在ASP.NET MVC中构建一个Web应用程序,并且需要构建一个非常复杂的搜索功能.当用户输入搜索词时,我想搜索各种数据源,包括文档,数据库中的表,网页网址和一些像facebook这样的API.任何提示,教程和提示将不胜感激.

Tom*_*cek 16

你的问题表明你可能没有计划从头开始实现整个功能,所以这里有一些你可能会觉得有用的链接.

  • 一个(最简单的)选项是使用第三方搜索引擎(例如Google Custom Search,但Bing可能有类似的API).这允许您使用Google搜索(仅)您的页面并以自定义方式显示结果.限制是它只搜索某些(链接)页面上显示的数据.

  • 更复杂的方法是使用一些为您实现索引的.NET库(基于您提供的数据).一个流行的图书馆是例如Lucene.Net.在这种情况下,您可以为其提供要明确搜索的数据(来自网页,数据库内容等的相关内容),这样您就可以更好地控制搜索的内容(但这需要更多工作).


Mau*_*fer 6

建立实际的搜索索引结构和算法并非易事。这就是为什么人们使用Lucene,Sphinx,Solr等的原因。正确配置和用过的。

我建议您看一下Solr,它可以为您提供Lucene的强大功能,但是它使用起来更简单,并且还添加了一些便捷功能,例如缓存,分片,刻面等。

SolrNet是.Net的Solr客户端,它有一个示例ASP.NET MVC应用程序,您可以使用它来查看其工作方式并作为项目的基础。

免责声明:我是SolrNet的作者。