如何使用C#开发搜索引擎的改进版图书(一)
优采云 发布时间: 2021-04-04 21:12如何使用C#开发搜索引擎的改进版图书(一)
由于资源下载地址容易出错,请添加微信ID 359049049以直接接收,并直接发送最新的下载地址。
前言
================================================ ===============
前言
出门前,经常使用搜索引擎查找公交路线。购物之前,搜索引擎通常用于查找最合适的产品。搜索引擎已经成为人们大脑的*敏*感*词*的事物对我们有重要影响。在本机操作系统上运行的搜索引擎对我们也起着重要作用。
当前,一些本地搜索引擎经常使用C#进行开发。本书是一本经过改进的书,解释了如何使用C#开发搜索引擎。随着人工智能技术的发展,搜索引擎中的算法已越来越深刻地影响着人们的生活。人们生活质量的不断提高取决于搜索引擎等相关技术的不断提高。
在社会文明的早期,大量有效的信息被存储在书籍和论文中。随着越来越多的信息出现在Web上,Web采集器变得越来越有用。借助人工智能,网络爬虫软件可以更准确地捕获有效信息。通过阅读本书,读者可以使用C#开发本地的手动网络爬虫软件。
这是一本介绍如何使用C#开发Web采集器的书。由于C#可以轻松调用浏览器内核,因此很容易解析动态网页。将网页转换为DOM树的表示形式也是C#的轻而易举。
Lucene几乎已成为全文搜索的代名词。随着.NET开发平台变得越来越强大,它作为.NET平台上的Lucene的移植版本正变得越来越流行。该决定起源于2002年的NLucene,当Lucene使用.NET平台的首选语言C#进行移植时,这一决定似乎仍然是正确的。几经周折,这个开源项目在2004年停滞了,但最终被Apache基金会接受为孵化项目,并成功地进行了转换。您可能对它是如何从Lucene移植而感到好奇。您可以使用诸如Sharpen之类的移植工具将Java源代码转换为C#源代码。当然,您还需要手动修改C#源代码中的错误。
由于快速启动,快速的速度和良好的可伸缩性,它赢得了许多开发人员的青睐。尽管它已经被包括Autodesk在内的公司和项目所采用,但这是第一本引入的书,即使从全球范围来看也是如此。
通过源代码学习各种算法是一个不错的选择,例如学习由堆实现的优先级队列。通过在Lucene 4. 0中引入灵活索引,未来版本的性能会更好。
这也是一本介绍如何使用C#开发自然语言处理技术(如中文分词,文本排序和拼写检查)的书。使用C#的灵活语法来实现中文分词,使代码更具可读性。
也许您想查找英文资料并将其自动翻译成可读的中文。也许您想在图像中查找文本,但是许多网站搜索的性能通常令人失望。尽管大型搜索引擎功能强大,但某些排序结果通常令人怀疑。本书介绍了如何使用C#调用支持分布式索引的Solr或ElasticSearch。这样网站可以使用ASP.NET开发前端,而可以使用Linux搜索群集开发后端。
这本书不仅适合专业软件开发人员,也适合那些想了解搜索引擎如何工作的人。许多人说这不是我不想,但我不会学习技术。也许您需要一本更好的书或一本更好的老师。根据生活场景,可以理解,一半的搜索实际上是一种猜测价格的游戏。有限状态机实际上是付款前电话银行中令人眼花string乱的数字输入字符串。简而言之,学习技术不仅有用,而且还很有趣。希望快速入门的读者也可以参加我们开发的培训课程。
崔志杰,王全军,施天英,张继宏,张金伟,刘宇,何书勤,任同通,徐有风和孙宽参加了本书的编撰。我要表示感谢。
编辑器
内容
================================================ ===============
前言
内容
第1章使用C#开发搜索引擎的快速入门
第2章使用C#开发Web爬网程序
第3章以各种格式索引文档
第4章自然语言处理
第5章使用C#实现中文分词
第六章原理和应用
第7章实现搜索用户界面
第8章使用Solr进行网站搜索
第9章分布式搜索的Elasticsearch开发
第10章在线客户服务案例分析
参考资源
编辑推荐
================================================ ===============
“使用C#开发搜索引擎(第二版)”一书介绍了业界流行的Lucene.Net,使用WebBrowser作为爬网程序以及结合Solr / ElasticSearch进行ASP.NET搜索的开发。 “使用C#开发搜索引擎(第二版)”还介绍了在线智能客户服务(聊天机器人)的开发框架。从C#语法开始,并逐渐深入,它是一种面向未来的智能软件开发,具有从零开始的实践。对于学习复杂的数据结构和自然语言处理相关的应用程序开发也具有参考价值。
特别注意:请理解,没有礼物可以购买此电子书。
作者*敏*感*词*
================================================ ===============
罗刚,计算机软件硕士,毕业于吉林工业大学。成立于2005年,并于2008年共同创立了上海。HuntingRabbit Search的创始人。目前,Hunting Rabbit Search在北京,上海和石家庄设有研发部门。领导狩猎兔搜索技术开发团队先后开发了狩猎兔中文分词系统,狩猎兔文本挖掘系统,智能垂直搜索系统和网络信息监控系统等,以实现采集,过滤,搜索和实时监视Internet信息。该搜索软件每天的访问量超过10,000。
优秀的书摘
================================================ ===============
第2章使用C#开发Web爬网程序
购买者需要找到有竞争力的制造商和价格来提供产品,金融交易员需要找到潜在的投资公司,出版业的人们需要找到迅速成为热门的话题。这些都可以借助网络爬虫来实现。
网络爬虫不断从Internet上获取大量信息,搜索引擎结果中的信息由此而来。如果将互联网比作覆盖整个地球的蜘蛛网,那么爬虫就是在网上爬行的蜘蛛。
在搜寻信息时,您应该首先关注一些高质量的网络信息。高质量网页是指网民投票的网页。这是网站中访问量较高的一些流行网页。但是,标尺较短,英寸较长。许多平均访问量网站都收录更多问题的答案。有点类似于长尾巴的好处。 Alexa(//)专门统计网站次访问并发布网站世界排名。如果使用FireFox浏览器,则可以检查是否仍然有很多人通过alexa插件访问网站。如果使用Internet Explorer,则可以通过alexa工具栏查看当前访问的排名网站。
某些文档对时间非常敏感,例如新闻或财务信息。大多数人想知道的是当天的股市报告,只有很少的人关心昨天的股市情况。本章专门介绍如何捕获即时信息。
网络采集器需要实现的基本功能包括下载网页和遍历URL地址。为了高效快速地遍历网站,还必须应用特殊的数据结构对其进行优化。爬网程序会占用带宽资源。在设计采集器时,您需要仔细考虑如何节省网络带宽。
2. 1爬行网络爬虫的原理
由于所有网页都可以链接到其他网站,因此从一个网站开始并跟随所有网页上的所有链接,因此可以遍历整个Internet。
为了更快地爬行所需的信息,首先从已知URL地址列表开始进行网络爬行。对于垂直搜索,它通常在行业中累积网站。某些人可能会想知道,搜索门户网站(如Google或百度)是如何设置此URL地址初始列表的。一般来说,网站的所有者将网站提交到分类目录,例如dmoz(///),爬网程序可以从打开的分类目录dmoz中抓取它。
已爬网的网页收录所需的信息,这些信息通常存储在特殊的存储系统中,例如数据库或索引库,如图2-1所示。
图2-1 Web爬网程序的基本结构
在搜索引擎中,采集器程序从一系列*敏*感*词*链接中提取这些初始网页的URL,并将其放入URL工作队列(Todo队列,也称为Frontier),然后遍历所有工作中的URL队列。下载网页,然后将新发现的URL再次放入工作队列中。为了判断URL是否已遍历,可以将所有遍历的URL放入历史表(访问表)中。爬网程序爬网的基本过程如图2-2所示。
……
精彩插图
================================================ ===============