企业内搜索引擎项目(四):搜索功能的实现
1. 思路
在进行网页搜索的过程中,需要考虑索引更好的问题=》
单独使用另一条线程控制磁盘索引的更新,该线程同时更新server.conf配置文件,表明当前正在使用的是哪一个磁盘数据库;
网页搜索的时候根据server.conf中的index信息打开对应的数据库;
2. 实战
利用Xapian开源库进行网页检索操作 (Xapian搜索功能的实现);
@ 流程
重新以只读的方式打开磁盘索引文件;
将磁盘索引和内存索引都加入待搜索的索引库searchdb_中;
将客户端传输进来的待查询字符串进行分词操作,加入空格,再丢给Xapian中的解析器解析;
利用Xapian进行检索操作并得到结果;
最后将结果包装成Json字符串,等待传输给客户端;
@ UML
@ 类设计
SearchTask - 完成搜索任务;
3. 测评
参考Xapian的精确率与召回率;