行业垂直搜索引擎的构建

1 项目的功能

爬取新闻(爬取网站可配置,精准爬取需要内容);

抽取新闻内容,存入数据库(精准抽取);

建立索引(Solr);

搜索服务(Solr);

2项目整体模式

各个项目的作用,之间的联系

项目分为三个模块:

  • 1 myretrieve:底层公共功能封装。
  • 2 myfullretrieve:通过新服务,从数据库取出数据,建立索引。
  • 3 mysearch:通过新服务,实现爬取和搜索功能。
image.png
image.png

3 项目各部分详解

1 myretrieve 底层公共功能封装

作用:将常用的功能:1 Lucene建立索引、搜索功能;2 Solre建立索引、搜索功能;3 常用的字符串、文件操作功能封装。

第一部分api包:

  • 1 将索引需要的参数(FullTextIndexParams);(2)搜索需要的参数(FullTextSearchPrarms),封装成类。
  • 2 将solr和lucene所有底层代码,例如启动服务、建立索引、搜索等功能封装成一个接口(FullTextService);将搜索返回的各类结果集,例如正常结果集、根据某个字段排序结果集封装为一个接口(FullTextResult)。
image.png
image.png
image.png

2 myfullretrieve 数据库取出数据,建立索引

启动新服务,不断监测数据库,抽取数据,建立索引。

(1)间隔时间监测数据库是否有需要建索引的字段。(OpIndex.java)
(2)抽取完整性词导入IK词库,并利用其分词(IndexCommonServer.java、IndexServer.java);
(3)操作数据库,取出数据,建立索引(IndexCommonServer.java、IndexServer.java)。

image.png

3 mysearch 爬取和搜索功能,前台UI页面操作

通过SSH + EasyUI搭建前台框架,实现自动化建立垂直搜索引擎。

1 前台搜索界面

image.png

2 后台管理界面
(1)爬取网站界面


image.png

(2)新增爬取网站界面

image.png

(3)网络数据管理界面


image.png

(4)配置索引界面

image.png

(5)添加栏目(主题)

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通...
    泰安青年阅读 9,100评论 0 37
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,776评论 25 709
  • 文/雨随尘清 窗外的风景,依旧是一片朦胧,像极了此刻的我,在灯下里睁开惺忪的睡眼,意识在夜色里恍惚…… 熟悉的城市...
    清陋阅读 2,981评论 3 20
  • 起床,整理被褥,洗漱,给郑儿换衣服。 下楼,吃早餐,买菜,公园小坐。 回家,郑儿喝奶,郑儿小睡,我忙着洗菜做饭。 ...
    简宁思静阅读 1,449评论 0 0
  • 最近在读《穷查理宝典:查理芒格智慧箴言录》,书里面,我真正体会到了老人家的谆谆教导,恨不得把他终身所学和他认为最重...
    一只奔跑的蜗牛阅读 4,068评论 0 2