J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)(2)建立商品数据库和Lucene的搭建

最新推荐文章于 2020年07月15日 18:17:47 发布
原创 最新推荐文章于 2020年07月15日 18:17:47 发布 · 9.9k 阅读
· 8
· 21 ·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文介绍如何在SSM框架(Spring+SpringMVC+MyBatis)下构建商品数据库并整合Lucene实现商品搜索功能。主要内容包括商品数据库的设计、Lucene的安装配置及索引测试。

继续搭建我们的项目吧。现在是搭建商品的数据库以及Lucene框架整合。

本系列:

(一)SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)(1)框架整合构建

文章结构:(1)商品数据库的构建;(2)Lucene的整合与测试;


一、商品数据库的构建:(数据库文件会在工程文件给出。)

(1)商品层级索引表

商品是涉及多层结构的。比如:家装->住宅家具->床上用品

这里写图片描述
这里写图片描述
这里写图片描述

(2)商品信息表:

这里写图片描述
这里写图片描述

以及最后添加的size,商品大小款。

大家拿着这两个图对着我将会给大家导出的数据库文件看就好。清晰明了。


二、Lucene的整合与测试

(1)官网下载先。下载多少个包呢??

IKAnalyzer2012FF_u1.jar			//中文分词
 lucene-analyzers-common-4.4.0.jar //其余是lucene核心包。词语的切割,core内容包,高亮包,查询包
 lucene-core-4.4.0.jar 
lucene-highlighter-4
lucene-queryparser-4.4.0.jar

(2)导入到我们的项目中(有朋友问为什么不用maven,我也想用啊,可是maven下来找不到那堆类)

IDEA导入:先把包放到WEB-INF下面的lib包中,然后导入

这里写图片描述

(3)编写我们的测试代码:

public class LuceneTest {
 private static Version matchVersion = Version.LUCENE_44;
 private static Analyzer analyzer = new IKAnalyzer();
 /*
 建立索引
 */
 public void index() {
 IndexWriter writer = null;
 try {
 //1.创建Directory(是建立在内存中还是硬盘中)
// Directory directory = new RAMDirectory();//索引建立在内存中!!!
 Directory directory = FSDirectory.open(new File("e:/lucene/index01"));//索引创建在硬盘上。
 //2.创建IndexWriter,用它来写索引
 IndexWriterConfig iwc = new IndexWriterConfig(matchVersion, analyzer);
 writer = new IndexWriter(directory, iwc);
 //3.创建Document对象
 Document doc = null;
 //4.为Document添加Field(Field是Document的一个子元素)(Field是那些大小、内容、标题)
 File f = new File("F:/lucene/example");
 for (File file : f.listFiles()) {
 doc = new Document();
 doc.add(new Field("content",new FileReader(file)));
 doc.add(new Field("filename",file.getName(),Field.Store.YES,Field.Index.NOT_ANALYZED));
 doc.add(new Field("path",file.getAbsolutePath(),Field.Store.YES,Field.Index.NOT_ANALYZED));
 //5.通过IndexWriter添加文档到索引中
 writer.addDocument(doc);
 }
 } catch (IOException e) {
 e.printStackTrace();
 } finally {
 if (writer != null) {
 try {
 writer.close();
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
 }
 }
}

调用:

public class TestLuceneIndex {
 @Test
 public void testIndex(){
 LuceneTest luceneTest = new LuceneTest();
 luceneTest.index();
 }
}

(4)按照我们自己编写的目录,建立个我们需要索引的文件先:随便几个txt(具体文件要求看官方文档吧!)

这里写图片描述

(5)然后就跑起来啊。Junit测试!!!

这里写图片描述

(6)然后我们就看到索引文件自动创建了

这里写图片描述

这样就完成我们整个项目需要用到的框架整合了!!!很愉快简单吧??

源码下载:J2EE项目系列(四)–SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)

好了,J2EE项目系列(四)–SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)(2)建立商品数据库和Lucene的搭建讲完了。

本博客系列是我做其中一个项目时候需要整合的部分东西(分布式的往后补上),我把里面的整合,以及部分非算法性的业务逻辑写出来(大家别看这边博客这么少东西,其实就那个数据库搞了我几个钟),分享经验给大家。欢迎在下面指出错误,共同学习!!你的点赞是对我最好的支持!!

更多内容,可以访问JackFrost的博客

确定要放弃本次机会?
福利倒计时
: :

立减 \

普通VIP年卡可用
立即使用
参与评论 您还未登录,请先 登录 后发表或查看评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值>
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

AltStyle によって変換されたページ (->オリジナル) /