solr初探-安装使用

前言碎语

Solr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,和Elasticseach一样是一款非常优秀的全文搜索引擎

写此文的目的也是看网上诸多的安装使用教程都比较老了,步骤也比较繁琐,下面介绍的方法简单高效,适合新手摸索入门

solr安装

前提是已经有了java开发环境了,也就是安装jdk了

最新版下载地址:http://apache.fayea.com/lucene/solr/6.4.1/

如上图有两种方式可供选择:

1.下载src的源文件,solr是使用ant构建的,所以需要安装ant,自己构建,使用ant server启动项目

2.下载打包好的,文件比较大,解压缩好后,进入bin目录,使用./solr start启动项目,solr restart -p xxx重启,其他的自己solr -help查看

solr默认的配置在server\solr\下,默认端口8983,故而访问地址为:http://localhost:8983/solr/,如看到如下界面,恭喜你安装成功了

solr的基础使用-导入mysql数据测试

1.新增Core

solr的管理已Core为单元,配置文件以及索引文件都存放在Core里面,如下图,创建test的Core

注意的点:

  • 如图箭头所指的目录需要自己在solr-6.4.1\server\solr目录下创建,如solr-6.4.1\server\solr\new_coro
  • 拷贝solr-6.4.1\server\solr\configsets\basic_configs\conf目录下的配置文件到自己的Core目录,也就是新建的new_core
  • 在new_core目录新增一个文件夹conf,拷贝\solr-6.4.1\server\solr\configsets\basic_configs\conf\elevate.xml这个文件到此目录
  • 修改solrconfig.xml的${solr.data.dir:./kldata},为自己新建的索引目录

2.导入mysql的数据

(1)在solrconfig.xml文件中新增如下请求节点。

(2).在solrconfig.xml同层目录新增如上箭头所指文件,然后配置数据库链接相关,如下

箭头所指为你要同步过来的查询结果

更加详细的配置可参考如下地址:

官方wiki:https://cwiki.apache.org/confluence/display/solr/

csdn博客:http://blog.csdn.net/boolbo/article/details/50352331

注意的点:

  • 如果配置更新了,可以使用接口/command=reload-config来重新加载配置文件,如http://localhost:8983/solr/#/new_core/dataimport/command=reload-config

(3).配置 schema

数据库的列对应索引里的文档域field,所以要把你想同步的数据列结果的文档域创建好,以及文档域对应的类型fieldType

在第二步的第二点拷贝的配置文件中,找到managed-schema,这个文件没有后缀名,但是是文本文件,使用文本编辑器打开它,

清除里面的配置,配置自己的field,如下图

需要注意的点:

  • 需要分词的字段需要使用solr.TextField类型,并指明你的建立索引和查询时的分词器,如上定义的text_cn便使用了林良益大神的ik分词
  • ik的solr分词器项目地址:https://github.com/EugenePig/ik-analyzer-solr5

(4)移动需要的jar

  • 数据库驱动,已mysql为例,需要将mysql-connector-java-xxx.jar移动到\solr-6.4.1\server\solr-webapp\webapp\WEB-INF\lib目录
  • 数据处理的j,将solr-6.4.1\dist下的solr-dataimporthandler-6.4.1.jar和solr-dataimporthandler-extras-6.4.1.jar移动到同上移动目录
  • 分词器 ,将你使用的中文分词器的jar拷贝到如上移动目录

(5)导入数据测试

  • 箭头一:选中你的test的Core
  • 箭头二:数据导入的菜单
  • 箭头四:数据导入的结果
  • 箭头五:数据查询测试菜单

我的测试结果

ps:最后,如果你想测试你的分词器的分词效果,可参考如下

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

分布式锁的几种实现方式~ 转

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一...

2851
来自专栏北京马哥教育

SQLite这么娇小可爱,不多了解点都不行啊

简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数...

3598
来自专栏云计算教程系列

最全的CentOS MariaDB入门教程

MariaDB是流行的跨平台MySQL数据库管理系统的分支,被认为是MySQL 的完全替代品。MariaDB是由Sun在Sun Microsystems合并期间...

2074
来自专栏性能与架构

mysql 大数据量的分页优化

使用limit进行分页,翻到10000多页后效率低 原因 limit offset 会逐行查找,是先查询再跳过 优化思路 (1)从业务逻辑 不允许翻过100页,...

3775
来自专栏知无涯

使用PHP调用SQL SERVER 2008及以上版本的方法

3688
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(999)-如何使用这个系统来开发?

前言 这篇文本讲述了这个框架的使用方式,及一些疑问的答疑,更加精准的使用这个框架来建立功能 经过几个版本的迭代,系统使用更加方便,代码更加简洁也更加的智能,...

2996
来自专栏杨建荣的学习笔记

快速搭建主从的脚本和问题排查

今天写了一个快速搭建MySQL主从环境的脚本,思路和前几天发布的MGR快速搭建的有一点像,但是最根本的差别就是这个脚本支持5.6,5.7版本。其实san...

4227
来自专栏程序猿

mssql注入

一些sql扩展 xp_regaddmultistring xp_regdeletekey 删除键名 xp_regdeletevalue 删除键值 xp_...

4178
来自专栏深度学习之tensorflow实战篇

MYSQL数据导出与导入,secure_file_priv参数设置

MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is running with the –...

5515
来自专栏运维小白

17.3 配置主

主从配置 - 主上操作 安装mysql 修改my.cnf,增加server-id=130和log_bin=aminglinux1 修改完配置文件后,启动或者重启...

1809

扫码关注云+社区