SOLR作为成熟的企业级检索服务,已经有些年头。我在5年前,也接触部分皮毛。当时跟另外一个同事,一起学习学运用到我们的产品之中,当时是面对的数据量是500-700百W,多表联合处理。然后通过SOLR,引入索引,再走日常的查询。大概也是在4年前,在入门MVN之后,通过MVN快速搭建了SOLR运行环境,几天前,又翻看了一下写的POM,觉得很有必要与大家进行一下REVIEW,温故而知新!我也对比了当前网上多如牛毛的SOLR搭建文章,总感觉我照着做,还是不会。当然,当时的POM,我是参照了国外一个大牛弄的,当时的SOLR版本是4.4.0.目前SOLR的6版本都出来,不过,需要JDK8以上。鄙人一直在用JDK7,所以,不考虑一下跨那么大,怕扯到蛋了。哈哈,玩笑话。另外由于之前分词,是用的jcseg,当时的版本也比较旧(1.8.9),所以今天做了相关升级。我就分享一下相关的心得,多有不足,欢迎指正。
环境说明:
WEB服务器:
apache-tomcat-7.0.68
JDK:
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
MVN:3.0.5
SOLR:4.10.4
分词器:jcseg1.9.7
业务场景:一般我们需要对一些大数据量的表进行查询,如果涉汲到多个表,是比较难办的。这个时候,SOLR就能解决我们的燃眉之急。首先,我们通过把数据映射到SOLR的索引之中,这样查询先走SOLR的索引,(千W数据毫无压力)毫秒级。查询到概要数据,当需要明细,再检索库就很快了。我们今天就讲一下如何通过MVN,把数据库的数据快速全量同步到SOLR,然后有一个基本的界面然我们可以操作,测试一下效果。
配置文件结构:
从上往下,一一进行说明:
jscseg.properties:分词器的配置文件
log4j.propertes:日志文件
solr.xml:这个是SOLR运行时,首先加载的一个配置文件,它会根据这里面的CORE去找相应的库的索引,很重要。
看src/main/config下面,有几个文件夹,除了lexicon是分词的库文件之外,其它都是你业务库的索引配置文件,我们以tagger为例
主要看一下 db-data-config.xml,schema.xml.
db-data-config:固明思义,就是存数据库访问,SQL相关的。
里面的具体配置,现在不讲,不然,篇幅不够。
schema是定义索引字段类型,哪些字段需要分词等相关的。
这里面描述了某个字段的类型,是否索引,是否持久化等等。
src/main/webapp下面还有一个solr.xml这个是放在tomcat的目录下面的。用来启动SOLR
实际上定义了solr.solr.home这个环境变量(关键)
下面,就是POM部分了,点链接下载。POM
我的微信公众号,欢迎沟通学习。
posted on 2016-05-20 18:38
alexcai 阅读(212)
评论(0) 编辑 收藏