C#学习教程:如何在C#中构建搜索引擎当用户输入搜索词时,我想搜索各种数据源,包括文档、数据库中的表格、网页url和一些API,如facebook。任何提示、教程和提示将不胜感激。您的问题表明您可能没有从头开始实施整个功能的计划,因此这里有一些您可能会觉得有用的链接。构建实际的搜索索引结构和算法并非易事。这就是人们使用Lucene、Sphinx、Solr等的原因。如评论中所建议的那样,如果配置正确,与您从其中一个免费搜索引擎获得的内容相比,使用google.com将失控并且匹配不佳用过。我建议看看Solr,它为您提供了Lucene的强大功能,但它更易于使用,并且它添加了一些便利的功能,如缓存、分片、分面等。SolrNet,.Net的Solr客户端,有一个示例ASP.NETMVC应用程序,您可以使用它来了解它是如何工作的,并作为您项目的基础。免责声明:我是SolrNet的作者。我为我的MVC4网站编写了一个自定义搜索引擎。它解析View目录并读取所有.cshtml文件,将提供的术语与正则表达式匹配。这是基本代码:以上是C#学习教程:HowtoBuildaSearchEngineinC#分享的所有内容,如果对大家有用,需要进一步了解C#学习教程,希望大家多多付出注意——Listresults=newList();DirectoryInfodi=newDirectoryInfo(System.Configuration.ConfigurationManager.AppSettings["PathToSearchableViews"]);//获取除共享的所有视图目录foreach(DirectoryInfodindi.GetDirectories().Where(d=>d.Name!="Shared")){//获取所有的.cshtml文件.GetFiles().Where(e=>e.Extension==".cshtml")){//检查是否为cshtml文件并排除部分页面if(fi.Name.Substring(0,1)!="_"){MatchCollection匹配;boolfoundMatch=false;int匹配计数=0;使用(StreamReadersr=newStreamReader(fi.FullName)){stringfile=sr.ReadToEnd();foreach(字符串词){Regexexp=newRegex("(?i)"+word.Trim()+"(?-i)");匹配=exp。匹配(文件);如果(matches.Count>0){foundMatch=true;matchCount=matches.Count;}}//检查匹配计数并创建链接////}}}}返回结果;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
