使用C#开发搜索引擎(第2版),清华大学出版社,罗刚pdf下载

使用C#开发搜索引擎(第2版),清华大学出版社,罗刚百度网盘pdf下载

作者:
简介:使用C#开发搜索引擎(第2版),清华大学出版社,罗刚
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:使用C开发搜索引擎(2版)

定价:68.00元

作者:罗刚

出版社:清华大学出版社

出版日期:2018-01-01

ISBN:9787302484462

字数:

页码:

版次:1

装帧:平装-胶订

开本:16开

商品重量:0.4kg

编辑推荐


《使用C开发搜索引擎(2版)》是介绍业界热门的Lucene.Net、使用WebBrowser做爬虫以及结合Solr/ElasticSearch开发ASP.NET搜索的书籍。《使用C开发搜索引擎(2版)》还介绍了在线智能客服(聊天机器人)开发框架。从C语法开始,逐渐深入,是零基础实践面向未来的智能软件开发的。对于学习复杂数据结构和自然语言处理相关应用开发也有参考价值。

内容提要


《使用C开发搜索引擎(2版)》介绍如何以C作为工具开发智能搜索引擎系统。

《使用C开发搜索引擎(2版)》是一本介绍业界热门的Lucene.Net、使用WebBrowser做爬虫以及结合Solr/ElasticSearch开发ASP.NET搜索的书籍。书中从网络爬虫抓取数据开始;然后介绍中文分词、文本排重等文本挖掘技术和搜索结果展现;后介绍在线智能客服(聊天机器人)开发框架。从C语法开始,逐渐深入,是零基础实践面向未来的智能软件开发的。

对于学习复杂数据结构和自然语言处理相关应用开发也有参考价值。

目录


目 录

章 使用C开发搜索引擎

快速入门 1

1.1 各种搜索引擎 2

1.1.1通用搜索 3

1.1.2垂直搜索 3

1.1.3站内搜索 4

1.2 搜索引擎的整体结构 4

1.3 搜索引擎的基本技术 5

1.3.1网络爬虫 5

1.3.2文本挖掘 5

1.3.3全文索引 6

1.3.4搜索语法介绍 8

1.3.5搜索用户界面 8

1.4C开发快速入门 9

1.4.1准备开发环境 9

1.4.2基本语法 9

1.4.3多维数组 11

1.4.4位运算 11

1.4.5枚举类型 12

1.4.6面向对象 13

1.4.7字符串 15

1.4.8读写文件 16

1.4.9集合类 17

1.4.10泛型 20

1.4.11委托和事件 21

1.4.12lambda表达式 24

1.4.13单元测试 24

1.4.14扩展方法 25

1.4.15类库 26

1.5 算法基础 26

1.5.1双端队列 27

1.5.2散列表 31

1.5.3单链表 36

1.5.4标准Trie树 37

1.5.5二搜索树 39

1.5.6三Trie树 41

1.5.7平衡Trie树 46

1.6 本章小结 48

1.7 术语表 48

2章 使用C开发网络爬虫 51

2.1 网络爬虫抓取原理 52

2.2 爬虫架构 54

2.2.1基本架构 54

2.2.2分布式爬虫架构 56

2.2.3垂直爬虫架构 57

2.3 下载网页 58

2.3.1协议 58

2.3.2下载静态网页 61

2.3.3下载动态网页 65

2.4 线程池 73

2.5 网络爬虫的遍历与实现 75

2.6 网站地图 77

2.7 连接池 78

2.8URL地址查新 79

2.8.1嵌入式数据库 79

2.8.2布隆过滤器 82

2.9 抓取RSS 84

2.10解析相对地址 86

2.11网页更新 86

2.12信息过滤 89

2.13垂直行业抓取 94

2.14抓取限制应对方法 94

2.14.1更换IP地址 94

2.14.2抓取需要登录的网页 98

2.14.3抓取ASP.网页 100

2.15保存信息 103

2.15.1存入数据库 103

2.15.2存成图像 104

2.16日志 105

2.17本章小结 108

2.18术语表 108

3章 索引各种格式文档 113

3.1 从HTML文件中提取信息 114

3.1.1识别网页的编码 114

3.1.2正则表达式 116

3.1.3Html Agility Pack介绍 120

3.1.4NSoup介绍 124

3.1.5网页正文提取 124

3.1.6结构化信息提取 137

3.1.7查看网页的DOM结构 140

3.1.8网页结构相似度计算 141

3.2 从非HTML文件中提取文本 143

3.2.1TEXT文件 144

3.2.2PDF文件 144

3.2.3Office文件 146

3.2.4Rtf文件 147

3.3OCR 148

3.3.1字形识别 149

3.3.2图像二值化 149

3.4 本章小结 153

3.5 术语表 154

4章 自然语言处理 155

4.1 统计机器学习 156

4.2 协同推荐 157

4.3 文档排重 163

4.3.1生成SimHash 164

4.3.2查找SimHash 166

4.3.3用于短文本排重 170

4.4 中文关键词提取 170

4.4.1关键词提取的基本方法 171

4.4.2从网页中提取关键词 174

4.5 相关搜索 174

4.6 拼写检查 175

4.6.1拼写检查的概率模型 176

4.6.2模糊匹配问题 176

4.6.3英文拼写检查 180

4.6.4中文拼写检查 183

4.7 文本摘要 184

4.7.1文本摘要的设计 184

4.7.2实现文本摘要技术 185

4.7.3Lucene.中的动态摘要 190

4.8 文本分类 191

4.8.1自动分类的接口定义 191

4.8.2自动分类的实现 191

4.9 自动聚类 197

4.9.1文档相似度 197

4.9.2K均值聚类方法 201

4.9.3K均值实现 202

4.10拼音转换 204

4.11句法分析树 204

4.12信息提取 211

4.12.1信息提取的规则及其实现 211

4.12.2提取地域信息 219

4.13本章小结 221

4.14术语表 221

5章 用C实现中文分词 223

5.1 词 224

5.2 文本切分的基本方法 224

5.3 地名切分 226

5.3.1地址类型标注 227

5.3.2未登录词识别 227

5.4 有限状态机 229

5.5 查找词典算法 231

5.6 中文分词的原理 232

5.6.1正向大长度匹配法 232

5.6.2逆向大长度匹配法 236

5.6.3处理未登录串 240

5.7 中文分词的流程与结构 241

5.8 切分词图 243

5.8.1保存切分词图 243

5.8.2生成全切分词图 247

5.9 概率语言模型的分词方法 250

5.9.1准备数据 251

5.9.2一元模型 252

5.9.3N元模型 257

5.10大熵 262

5.11未登录词识别 264

5.12词性标注 264

5.12.1隐马尔科夫模型 266

5.12.2实现词性标注 271

5.13本章小结 275

5.14术语表 276

6章 Lucene.原理与应用 277

6.1Lucene.快速入门 278

6.1.1索引文档 278

6.1.2搜索文档 280

6.1.3Lucene.结构 281

6.2Lucene.深入介绍 282

6.2.1索引原理 282

6.2.2分析文本 285

6.2.3遍历索引库 288

6.2.4布尔查询原理 289

6.2.5检索模型 290

6.2.6收集相关的文档 291

6.3 索引中的压缩算法 296

6.3.1 变长压缩 296

6.3.2差分编码 298

6.4 创建和维护索引库 299

6.4.1设计一个简单的索引库 299

6.4.2创建索引库 300

6.4.3向索引库中添加索引文档 301

6.4.4删除索引库中的索引文档 303

6.4.5更新索引库中的索引文档 304

6.4.6索引的优化与合并 304

6.5 查找索引库 305

6.5.1布尔查询 306

6.5.2同时查询多列 307

6.5.3跨度查询 308

6.5.4通配符查询 312

6.5.5过滤 312

6.5.6按指定列排序 313

6.5.7查询大容量索引 318

6.5.8函数查询 320

6.5.9定制相似度 323

6.5.10评价搜索结果 325

6.6 中文信息检索 325

6.6.1Lucene.中的中文处理 326

6.6.2Lietu中文分词的使用 326

6.6.3定制Tokenizer 328

6.6.4解析查询串 329

6.6.5实现字词混合索引 333

6.7 抓取数据库中的内容 336

6.7.1读取数据 337

6.7.2数据同步 338

6.8 与爬虫集成 338

6.9 概念搜索 341

6.10本章小结 344

6.11术语表 345

7章 实现搜索用户界面 347

7.1 搜索页面设计 348

7.1.1用于显示搜索结果的

ASP. 348

7.1.2搜索结果条 351

7.1.3搜索结果分页 351

7.1.4设计一个简单的搜索页面 352

7.2 实现搜索接口 353

7.2.1Lucene.搜索接口 353

7.2.2指定范围搜索 357

7.2.3搜索页面的索引缓存与

更新 358

7.3 实现关键词高亮显示 361

7.4 实现分类统计视图 362

7.4.1搜索结果分类统计与导航 363

7.4.2层次树 366

7.5 相关搜索词 368

7.6 实现AJax自动完成 369

7.6.1总体结构 370

7.6.2服务器端处理 371

7.6.3端处理 372

7.7 集成其他功能 374

7.7.1拼写检查 374

7.7.2再次查找 374

7.7.3黑名单 375

7.7.4搜索日志 376

7.8 本章小结 377

8章 使用Solr开发网站搜索 379

8.1 搜索服务器端 380

8.1.1Solr的结构 380

8.1.2启动Solr服务器 381

8.1.3开发支持Solr的中文分词 384

8.1.4中文的Solr 385

8.1.5索引数据 388

8.1.6查询功能 389

8.1.7高亮显示 392

8.2Solr的.NET客户端 393

8.2.1使用Solr 393

8.2.2查询 396

8.2.3分类统计 397

8.2.4ASP.NET中使用Solr 401

8.2.5删除数据 405

8.2.6从数据库索引数据 405

8.2.7翻页 408

8.2.8实现多分类 411

8.3 查询语法 412

8.3.1对空格的支持 413

8.3.2日期加权 413

8.4 索引分布 415

8.5 本章小结 417

9章 Elasticsearch开发分

布式搜索 419

9.1 搜索集 421

9.2 安装 422

9.3ES的.客户端 429

9.3.1连接搜索服务器 429

9.3.2创建索引 430

9.3.3插入数据 431

9.4 查询 432

9.4.1布尔查询 433

9.4.2嵌套类型和嵌套查询 434

9.4.3查询结果 437

9.4.4过滤器 437

9.5 高亮显示 437

9.6 分页 442

9.7 本章小结 442

0章 在线客服案例分析 445

10.1使用WebSocket 446

10.2知识库 447

10.3自动问答 449

10.4本章小结 453

参考资源 455

作者介绍


罗刚,计算机软件硕士,毕业于吉林工业大学。2005年创立北京盈智星科技发展有限公司,2008年联合创立上海数聚软件公司。猎兔搜索创始人,当前猎兔搜索在北京和上海以及石家庄均设有研发部。带领猎兔搜索技术开发团队先后开发出猎兔中文分词系统、猎兔文本挖掘系统,智能垂直搜索系统以及网络信息监测系统等,实现互联网信息的采集、过滤、搜索和实时监测,其开发的搜索软件日用户访问量达万次以上。

文摘







序言