搜索引擎(Solr-介绍)

问题:如果还有别的应用系统也需要同样的全文搜索怎么办?

3a5a7b833e7ee009864cf637ffe05944d57.jpg

6dc0e63fb0f46c18846450a5a6b05e4357a.jpg

691aee652ff36929485218199d6af5923d2.jpg

 

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应用架构

f247d8d6e6218b5887880ecbc286ea6a353.jpg

 

Solr安装、使用

Solr 下载

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

c9ec361eb919e1a287527e6372d2a39ada8.jpg

系统环境要求

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

安装准备

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

特别是在生产环境部署时,需认真评估需要的服务规模。考量因素:

文档的数量、结构
要存储的字段数量
用户数量
影响硬件规模的因素

Lucene的严格限制:      

单个索引中的最大文档数: 约2.14 billion documents (约21.4亿,2,147,483,647 )

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

安装

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

Linux系统下解压命令: tar zxf solr-7.3.0.tgz

Solr目录说明:

e6d5d94e5b0cce972b2cb1cb0236a5e1c52.jpg

独立服务器模式启动Solr

Linux:
        bin/solr start                       
Windows:
        bin\solr.cmd start

 默认端口: 8983

查看Solr是否在运行的命令: bin/solr status

请在命令行下,直接 solr.cmd 回车,查看命令的使用帮助说明,了解更多用法!

启停控制脚本支持的命令

816be47f29749acd4030d60858ab8dd5842.jpg

1615a9c494974f58cbe3f5772e1d641d507.jpg

 

Solr 管理控制台介绍   http://localhost:8983/solr/

712cb0d132d8fd6fe0e5b9dd2a559a00b7b.jpg

Solr core 介绍

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

疑问:内核就是索引,为什么需要多个内核?

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

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

74b0c3088677b34f24962b8e0326f7299f4.jpg

创建内核

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

a1f8f6a25177fba31cd312b187576730acd.jpg

方式二:命令行命令创建一个新的内核

f7845c820a5171e83da492ba5285d8baad4.jpg

-d 选项可选值有两个:        

_default      默认值,最少配置;         sample_techproducts_cnofigs     示例的配置

分别用它们创建一个内核:

solr.cmd  create_core –c  mycore

solr.cmd  create_core  -c  techproducts –d sample_techproducts_configs

在web管理控制台查看创建的内核

请查看他们存放在哪个目录。
请查看左边菜单栏下核心列表、及下面有些什么菜单。
比较两个核心的schema中的字段。

搞点测试数据来试试搜索,好学习!

在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\*

试试搜索

77a7cc57199c6ebc4d14750832a2a47be8c.jpg

试试提交一个文档

4c55e8020fa579bb90a6d9c9c6162fb0fd3.jpg

{
    "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
  }

然后用  “I love solr“  短语搜一下

问:我们的应用如何使用Solr?

通过http请求向solr提交、查询数据

 

转载于:https://my.oschina.net/u/3728166/blog/3009371

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值