Compass实战 站内搜索

简介: 今天早上打算对这两天学习的Lucene以及Compass总结一下,想来想去,还是写个小项目来验证最好了。于是就有了今天的这篇文章。难易程度适合对于Compass或者Lucene刚入门的童鞋,大牛看到后望轻喷 :-)项目预览项目需求项目目录核心处理发帖部分查询部分总结项目预览项目需求这是一个小项目,唯一实现的就是发帖以及站内搜索功能。

今天早上打算对这两天学习的Lucene以及Compass总结一下,想来想去,还是写个小项目来验证最好了。于是就有了今天的这篇文章。难易程度适合对于Compass或者Lucene刚入门的童鞋,大牛看到后望轻喷 :-)



项目预览

首页

查询结果

项目需求

这是一个小项目,唯一实现的就是发帖以及站内搜索功能。所以我们的目标很明确了。由于这里仅仅是演示Compass的实现,所以就没有整合数据库的那一块,即保证数据库和索引库信息的一致性。(这一点在Business层进行控制即可)。

项目目录

  • 一个逻辑清晰的项目目录可以帮助我们快速理解和学习。
    项目目录

    • 引用到的jar包有:
      引用到的jar包

核心处理

由于代码比较多,所以一个个的贴出代码也没什么价值。文末我会将项目的下载地址分享出来。这里仅仅是讲解一下核心处理部分。

发帖部分

Created with Raphaël 2.1.0 在index.jsp页面填写表单 表单将数据交给PublishArticleServlet Servlet调用DAO层代码实现数据“持久化,索引化” 业务完成

*查询部分

Created with Raphaël 2.1.0 在index.jsp页面填写查询内容 表单将数据交给SearchServlet Servlet调用DAO层代码获取查询到的数据结果,并做了处理 在视图层中展示查询结果,并高亮关键字

总结

本例主要是以MVC模式为架构实现。逻辑上自认为还是比较清晰。
我们在开发的过程中只要按照自己的业务需求来定制自己的实体层数据即可。详见本例domain.Article.java的实现。

最后,附上本项目的下载地址。请自取,另外如果您觉得这个例子还不错,请不要吝啬您的星星,Star一下吧。

Created with Raphaël 2.1.0 下载地址↓

Compass-Impl站内搜索实战

目录
相关文章
|
9月前
|
Python
Python基础教程——pass语句
Python基础教程——pass语句
|
9月前
|
JSON 自然语言处理 搜索推荐
BoostCompass —— 搜索引擎
BoostCompass —— 搜索引擎
73 3
|
9月前
|
前端开发 JavaScript
前端Webpack5高级进阶课程
本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等,让你开发时选择更多样,最后,用不到一百行的代码实现Webpack打包。通过本套视频教程的学习,可以帮你彻底打通Webpack的任督二脉,技术水平更上一层楼,在开发项目的道路上畅通无阻
41 3
前端Webpack5高级进阶课程
|
缓存 Linux Windows
certutil工具使用和bypass学习
certutil工具使用和bypass学习
790 0
html+css实战102-新浪导航padding优化
html+css实战102-新浪导航padding优化
149 0
html+css实战102-新浪导航padding优化
|
前端开发 安全 Java
PassJava 开源(十四)之 管理后台-题目类型功能
PassJava 开源(十四)之 管理后台-题目类型功能
272 0
PassJava 开源(十四)之 管理后台-题目类型功能
2019最新小白搭建ss
为了理解装饰器,你首先必须知道 Python 中的函数都是 object 对象。 这非常重要。让我们通过一个例子来看看原因。 Python def shout(word='yes'): return word.
11498 0
|
Web App开发 数据采集 数据库
2.HtmlAgilityPack 爬取优酷电影名进阶(所有分类+多线程)
上一章节中我们实现了对优酷单页面的爬取,简单进行回顾一下,使用HtmlAgilityPack库,对爬虫的爬取一共分为三步 爬虫步骤 加载页面 解析数据 保存数据 继第一篇文档后的爬虫进阶,本文章主要是对上一篇的进阶。
1006 0
|
前端开发 JavaScript 数据采集
1.HtmlAgilityPack 爬取优酷电影名
爬虫的制作主要分为三个方面 1、加载网页结构 2、解析网页结构,转变为符合需求的数据实体 3、保存数据实体(数据库,文本等) 在实际的编码过程中,找到了一个好的类库“HtmlAgilityPack”。
1022 0
|
自然语言处理 Java 数据库连接

热门文章

最新文章