行业垂直搜索引擎的构建
2018-03-13 本文已影响15人
艾剪疏
1 项目的功能
爬取新闻(爬取网站可配置,精准爬取需要内容);
抽取新闻内容,存入数据库(精准抽取);
建立索引(Solr);
搜索服务(Solr);
2项目整体模式
各个项目的作用,之间的联系
项目分为三个模块:
- 1 myretrieve:底层公共功能封装。
- 2 myfullretrieve:通过新服务,从数据库取出数据,建立索引。
- 3 mysearch:通过新服务,实现爬取和搜索功能。
3 项目各部分详解
1 myretrieve 底层公共功能封装
作用:将常用的功能:1 Lucene建立索引、搜索功能;2 Solre建立索引、搜索功能;3 常用的字符串、文件操作功能封装。
第一部分api包:
- 1 将索引需要的参数(FullTextIndexParams);(2)搜索需要的参数(FullTextSearchPrarms),封装成类。
- 2 将solr和lucene所有底层代码,例如启动服务、建立索引、搜索等功能封装成一个接口(FullTextService);将搜索返回的各类结果集,例如正常结果集、根据某个字段排序结果集封装为一个接口(FullTextResult)。
2 myfullretrieve 数据库取出数据,建立索引
启动新服务,不断监测数据库,抽取数据,建立索引。
(1)间隔时间监测数据库是否有需要建索引的字段。(OpIndex.java)
(2)抽取完整性词导入IK词库,并利用其分词(IndexCommonServer.java、IndexServer.java);
(3)操作数据库,取出数据,建立索引(IndexCommonServer.java、IndexServer.java)。
3 mysearch 爬取和搜索功能,前台UI页面操作
通过SSH + EasyUI搭建前台框架,实现自动化建立垂直搜索引擎。
1 前台搜索界面
image.png2 后台管理界面
(1)爬取网站界面
image.png
(2)新增爬取网站界面
image.png(3)网络数据管理界面
image.png
(4)配置索引界面
image.png(5)添加栏目(主题)
image.png