Solr安装与简单的使用

在多个应用系统中全部都需要使用全文搜索,如果每一个应用加入Lucene这样的话就太麻烦了。所以就可以创建一个独立的搜索服务,供所有应用使用。这时就可以使用开源的搜索服务系统Solr、Elasticsearch。

Solr介绍

Solr:基于Lucene的流行、高性能的开源企业级搜索平台。Lucene下的子项目。
官网链接: https://lucene.apache.org/solr

Solr用途

独立地提供全文搜索服务

Solr特性

1、独立的企业级搜索服务,基于http以类-REST API 对外提供服务

  • 你可以通过http协议将文档以JSON/XML/CSV/binary格式发送给Solr进行索引。
  • 你通过http GET 请求进行查询,可返回JSON/XML/CSV/binary格式的搜索结果。

2、近实时的索引能力

  • 文档数据提交索引后,立马就可看到。

3、先进的全文检索能力

  • 基于Lucene的强大搜索能力,支持任意数据类型的短语、通配、连接、分组等等查询

4、综合的管理界面

  • Slor内建了综合的管理用户界面,让你方便的管理你的solr实例。

5、通过简单的配置方式来提供高灵活性、适用性。

6、高伸缩和容错能力

  • 基于zookeeper,solr支持分布式、备份、再平衡,来提供高伸缩和容错能力**

7、插件体系架构,易扩展

  • Solr发布了许多定义良好的扩展点,这使得插件很容易插入索引和查询时的过程中。

Solr应用架构

你的应用需要添加搜索能力,只需三步:

1、在solr中定义一个schema(模式),来告诉solr你要索引的文档document由哪些Field构成。

2、将需要让用户搜索的文档发送给solr

3、在你的应用中公开搜索功能。应用的搜索功能通过调用Solr的搜索API实现。


solr应用架构

Solr下载

Solr 版本:7.3.0
官网下载安装包: https://lucene.apache.org/solr/mirrors-solr-latest-redir.html

solr安装包 linux/windows/源码包

系统环境要求

JRE1.8
操作系统:Linux, MacOS/OS X, and Microsoft Windows

安装准备

Solr的安装很简单,只需解压到安装目录。但在安装之前针对你的使用环境:开发、测试、生产,需要进行一个评估,来决定:
是在独立的机器上部署单应用服务
还是需要分布式集群

特别是在生产环境部署时,需认真评估需要的服务规模。考量因素:
1、文档的数量结构
2、要存储的字段数量
3、用户数量
4、影响硬件规模的因素

  • Lucene的严格限制:单个索引中的最大文档数:约2.14 billion documents(约21.4亿,2147483647)

实际中不可能在单个索引中达到这个文档数量级还运行良好,在到达这个数量之前早就会用分布式索引集群。如果在部署时,就能估计出将达到如此量级,就应该用solrCloud分布式集群方式安装。

安装

将安装包解压到安装目录即可。

  • linux系统下解压命令:tar zxf solr-7.3.0.taz
  • windows直接解压即可


    solr目录说明

独立服务器模式启动Solr

Linux启动:

  • bin/solr start

如果出现以下信息:
WARNING: Starting Solr as the root user is a security risk and not considered best practice. Exiting.
Please consult the Reference Guide. To override this check, start with argument ‘-force’
输入:bin/solr start -force 启动

Windows启动:

  • bin\solr.cmd start

加上 -p 参数 指定端口启动
默认端口:8983

查看solr是否运行的命令:

  • bin/solr status(linux系统)

启停控制脚本支持的命令

启停脚本命令

输入 solr.cmd start -help 了解详情

启停命令详情

Solr 管理控制台介绍

地址:http://ip:8983/solr/

solr 管理控制台

Solr core(内核) 介绍

内核:是运行在Solr服务器中的具体 唯一命名 的、可管理和可配置的索引。

  • 一台sole服务器可以托管一个或多个内核。

内核就是索引,那么为什么需要多个内核呢?

  • 不同的文档拥有不同的模式(字段构成、索引、存储方式),如商品数据和新闻数据就有不同的字段构成以及不同的字段索引、存储方式。就需要分别用两个内核来索引、存储他们。

内核的典型用途:区分不同模式的文档

solr服务器内核

创建内核

  • 方式一:web管理控制台加载已存在的内核


    web管理控制台创建内核
  • 方式二:命令行创建有一个新的内核


    命令行创建内核

-d 选项可选值有两个:

  • _default 默认值,最少配置
  • sample_techproducts_configs 示例的配置

分别创建一个内核

  • windows:
solr.cmd  create_core -c  mycore
solr.cmd  create_core -c  techproducts -d sample_techproducts_configs
  • linxu
./solr  create_core -c  mycore
./solr  create_core -c  techproducts -d sample_techproducts_configs

内核创建后的文件就在 solr-7.3.1/server/solr 目录下

web管理控制台内核菜单

内核菜单

数据测试

1、在solr的example目录下有许多示例数据,可进行添加
用post命令添加:

  • Linux/Mac
solr-7.3.0:$ bin/post -c techproducts example/exampledocs/* 
  • Windows

solr-7.3.0> java -jar -Dc=techproducts -Dauto example\exampledocs\post.jar example\exampledocs\*

2、搜索


solr搜索

返回值

3、提交文档

{
    "id" : "2010-010154888",
    "cat" : ["book","paperback"],
    "name" : "I love solr",
    "author" : "Mike",
    "sequence_i" : 1,
    "genre_s" : "IT",
    "inStock" : true,
    "price" : 130.50,
    "pages_i" : 475
 }
提交

你可能感兴趣的:(Solr安装与简单的使用)