前言
什么是 Solr?
Solr 采用 Java5 开发,是建立在 Apache Lucene™上的流行的、快速的开源企业搜索平台。
Solr 具有高度可靠、可伸缩和容错能力,提供分布式索引、复制和负载平衡查询、自动故障转移和恢复、集中配置等功能。
Solr 为世界上许多最大的互联网站点的搜索和导航功能提供了动力。
Solr 的特征
- 高级全文搜索能力:由Lucene ™提供支持,Solr可实现强大的匹配功能,包括短语,通配符,联接,分组以及任何数据类型
- 针对大容量流量进行了优化:
- 拥有基于标准的开放式接口- XML、JSON 和 HTTP
- 综合的管理界面
- 实现轻松监控
- 高度的可扩展性和容错性
- 灵活的适应性,易于配置
- 能够实时索引
- 可扩展的插件架构
一、下载安装solr
1下载(以8.4.1为例)
www.apache.org/dyn/closer.…根据Solr的运行环境,Linux下需要下载Solr-4.10.3.tgz,windows下需要下载Solr-4.10.3.zip。
2、解压
- bin:solr的运行脚本
- contrib:solr的一些贡献软件/插件,用于增强solr的功能。
- dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
- docs:solr的API文档
- example:solr工程的例子目录:
- example/solr:该目录是一个包含了默认配置信息的Solr的Core目录。
- example/multicore:该目录包含了在Solr的multicore中设置的多个Core目录。
- example/webapps:
- licenses:solr相关的一些许可信
- server: solr的一些服务
3、启动 cmd 进入solr的bin 目录
- 输入 solr start 启动solr 服务
- 常用命令:
- 启动命令:solr start
- 关闭命令:solr stop -all
- 重启solr :solr restart –p p_num
- 端口号为 8983
4、solr 已经启动
二、配置solr核心
1、新建文件夹goods
在目录F:\solr-8.4.1\server\solr中新建文件夹goods 文件夹名称可以根据需求起名
2、配置文件
将F:\solr-8.4.1\server\solr\configsets\sample_techproducts_configs 文件下的所有文件拷贝 拷贝到 F:\solr-8.4.1\server\solr\goods 中
3、选择Core Admin
进入http://localhost:8983/solr/#/
选择Core Admin
4、点击Add Core
在name 输入刚刚创建的文件名 goods instanceDir 也输入刚刚创建的文件名 goods 点击 Add Core
5、Core 创建成功
此时,solr构建完成。
三、创建document(表)
1、选择核心
选择已经创建的核心(goods)-> 点击Schema -> 点击 Add Field ,操作如下:
2、输入user_name 并设置String 点击Add field
同理 输入user_info 设置String 点击Add field
3、输入user 可以查看到刚刚添加的字段信息
四、导入数据
solr 支持多种方式(数据库、Json、XML、CSV…)将数据导入到solr库,很灵活方便。 下面是以CSV方式导入数据。
1、选择核心(goods)-> 点击 Documents,
在右侧,Document Type 选择 CSV,Documents是要导入的数据。 操作截图如下:
2、输入数据 点击提交 Submit Documnet
id,user_name,user_info 1,张三同学,英语课代表 2,李四同学,语文课代表 3,小米同学,数学课代表 4,王五同学,物理课代表 5,周六同学,化学课代表 6,武动同学,政治课代表
3、介绍:
Status: success Response: { "responseHeader": { "status": 0, "QTime": 47 } } Status 状态 成功和失败 status 0为成功 QTime 执行所用时间
五、查询数据信息 并测试
1、选择相关的库(goods)-> 选择Query ,查询数据。
查询全部数据:直接点击 Execute Query ,查询出所有的数据
status 查询状态 0 成功 QTime 查询执行时间 params 查询的数据信息 numFound 查询到数据量 start 分页使用 docs 查询到的数据 Solr默认会给每一次查询加上分页效果:start为0,rows为10.也就是返回前十条记录。很多境况下这样的结果就够用了,如果不满足业务要求,就需要显示指定分页参数。
2、简单查询
q:输入查询字段和value值 匹配查询结果 例如:user_name:张三同学 查询结果如下:
六、结束语
好了,简单的solr 安装完成并简单测试。