通过MVN快速构建SOLR检索服务(小白搭建)

       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

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

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,053评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 两年前用过solr5.1版本的,当时只是简单入个门,拿来在项目里建个全文索引,然后再query,其他什么也没做,还...
    Coselding阅读 8,281评论 3 22
  • -->TOP1.概念: 消费者购买某些商品的目的,并不是仅仅是为了直接的物质满足和享受,更大程度上是为了获取心理上...
    瑾兰阅读 2,271评论 0 0
  • 不久前读了《一个人的好天气》,读的囫囵吞枣但是感慨倒还是不少的。大概我们每个人的成长都是这样的,一边走又一边失去,...
    不是一鸣阅读 2,571评论 0 0