2016年8月19日

企业内搜索引擎项目(四):搜索功能的实现

摘要: 1. 思路 在进行网页搜索的过程中,需要考虑索引更好的问题=》 单独使用另一条线程控制磁盘索引的更新,该线程同时更新server.conf配置文件,表明当前正在使用的是哪一个磁盘数据库; 网页搜索的时候根据server.conf中的index信息打开对应的数据库; 2. 实战 利用Xapian开源库 阅读全文

posted @ 2016-08-19 20:05 tanfy 阅读(455) 评论(0) 推荐(0) 编辑

企业内搜索引擎项目(三):搜索服务器框架的搭建

摘要: 1. 设计 Muduo网络库实战(二)中的"1. 方案的确定" 2. 实战 采用Muduo网络库进行服务器的搭建工作; 思路: 一旦客户端连接服务器成功,调用OnConnection()函数; 当客户端发送数据给服务器,调用OnMessage()函数,处理数据并利用线程池进行搜索返回结果; 其中服务 阅读全文

posted @ 2016-08-19 20:04 tanfy 阅读(775) 评论(0) 推荐(0) 编辑

Xapian实战(三):索引

摘要: 参考资料: Xapian:Document, Value和Term Xapian:Database Xapian机制简要介绍 1. Xapian中各类要点总结 @ Database Database API参考 WritableDatabase API参考 Xapian的Database是所有用于检 阅读全文

posted @ 2016-08-19 20:04 tanfy 阅读(820) 评论(0) 推荐(0) 编辑

企业内搜索引擎项目(二):索引的设计和创建

摘要: 1. 设计 @ 索引创建 采用【动态索引】的策略,可以实现实时搜索的功能; 动态索引的实现需要“倒排索引”,“临时索引”和“已删除文档列表”,其中“倒排索引”存储在磁盘文件中,“临时索引”存储在内存中; 思路: 当系统发现有新文档进入时,立即将其加入临时索引中;有文档被删除时,则将其加入删除文档队列 阅读全文

posted @ 2016-08-19 20:03 tanfy 阅读(403) 评论(0) 推荐(0) 编辑

Xapian实战(二):core concepts

摘要: 参考资料 core concepts 正文 1. 并发性 xapian不包含任何全局变量,所以多线程编程中,在没有共享资源的情况下可以安全使用xapian。在实际操作中,由于每个线程都可以创建自己的xapian.Database对象,所以这个限制条件完全没有问题。当然如果真的需要在多线程中使用同一个 阅读全文

posted @ 2016-08-19 20:03 tanfy 阅读(933) 评论(0) 推荐(0) 编辑

企业内搜索引擎项目(一):架构

摘要: 一 整体架构 整个搜索引擎网站为一个Web应用平台,采用LAMP架构(Linux + Apache + MySQL + PHP); (链接:LAMP架构的搭建) 其中PHP负责网站的前端,后端使用C++编写; 服务器后台包括倒排索引模块和搜索模块; 类似于: 二 开源工具的确定 1. Muduo网络 阅读全文

posted @ 2016-08-19 20:02 tanfy 阅读(802) 评论(0) 推荐(0) 编辑

导航