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站内搜索实战

目录
相关文章
|
6月前
|
分布式计算 API Spark
Spark学习--day05、SparkCore电商网站实操、SparkCore-工程代码
Spark学习--day05、SparkCore电商网站实操、SparkCore-工程代码
118 11
|
4月前
|
监控 安全 JavaScript
DVWA CSP Bypass 通关解析
DVWA CSP Bypass 通关解析
|
4月前
|
SQL 监控 安全
DVWA Authorisation Bypass 通关解析
DVWA Authorisation Bypass 通关解析
|
4月前
|
人工智能 Java
AI大模型----SpringBoot添加放行最简单的方式@AuthAccess,问题库构思,概念title,答案text,搜索search
AI大模型----SpringBoot添加放行最简单的方式@AuthAccess,问题库构思,概念title,答案text,搜索search
|
6月前
|
JSON 自然语言处理 搜索推荐
BoostCompass —— 搜索引擎
BoostCompass —— 搜索引擎
58 3
|
6月前
|
XML 存储 开发框架
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
205 0
|
XML 缓存 前端开发
apache网址优化
apache网址优化
60 0
|
缓存 Linux Windows
certutil工具使用和bypass学习
certutil工具使用和bypass学习
739 0
|
存储 Python
如何用str.format()批量生成网址【以豆瓣读书为例】
如何用str.format()批量生成网址【以豆瓣读书为例】
93 0
如何用str.format()批量生成网址【以豆瓣读书为例】
|
前端开发
《零基础CSS入门教程》电子版地址
学习 CSS 的方法,很简单,多学多练、不懂就问。 相对于 HTML 来说,CSS 要更加复杂一点,更加抽象一点。但是总体上 CSS 还是一门设计语言,比 较直观,比较易懂的。
86 0
《零基础CSS入门教程》电子版地址