Solr(一)概述与安装

目录

 

1.概述

1.1 定义

1.2 特点

1.3 工作方式

1.4 SolrCloud与Solr,lucene关系

1.4.1 solr与luence的关系

1.4.2 Solr与SolrCloud

2. Solr安装

2.1 安装前说明

2.2 下载

2.3 启动solr

2.3.1 进入solr目录,目录分析

2.3.2 进入bin目录,目录分析

2.3.3 启动

2.4 测试验证

2.5 安装可能存在的问题

2.5.1 无法启动

2.5.2 启动成功之后无法访问


1.概述

1.1 定义

Solr 是一个基于 Apache Lucene 之上的搜索服务器,它是一个开源的、基于 Java 的信息检索库。它旨在驱动功能强大的文档检索应用程序 - 无论您需要根据用户的查询将数据服务到何处,Solr 都可以为您服务。Solr与应用程序的集成以为您服务。

下面是一个如何将 Solr 集成到应用程序中的示例

在上述情况下,Solr 与其他服务器应用程序并行运行。例如,在线商店应用程序将提供用户界面、购物车以及为最终用户购买的方式;而库存管理应用程序将允许商店员工编辑产品信息。产品元数据将保存在某种数据库以及 Solr 中。

Solr的官网: http://lucene.apache.org/solr/

1.2 特点

Solr是一个高性能,采用Java开发,

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

Lucene 主要有个算法被为

  • 倒排索引:使用关键字去搜索文档。就是利用一个Map 集合搞定Map<String,List<ID>> 这个速度快
  • 正排索引:使用文档的Id 去查询文档,对比文档里面有没有该关键字。扫描全表,做个匹配而已

1.3 工作方式

文档通过Http利用XML或者json 加到一个搜索集合中。

查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等

1.4 SolrCloudSolrlucene关系

1.4.1 solrluence的关系

Many people new to Lucene and Solr will ask the obvious question: Should I use Lucene or Solr?
The answer is simple: if you're asking yourself this question, in 99% of situations, what you want to use is Solr.
A simple way to conceptualize the relationship between Solr and Lucene is that of a car and its engine. You can't drive an engine, but you can drive a car. Similarly, Lucene is a programmatic library which you can't use as-is, whereas Solr is a complete application which you can use out-of-box.

网上有这样的比喻:

  • lucene是数据库的话,solr就是jdbc
  • lucenejarsolr就是一个引用这些jar来写的搜索客户端。Solr是一个可以直接用的应用,而lucene只是一些编程用的库。

1.4.2 SolrSolrCloud

SolrCloudSolr4.0版本开发出的具有开创意义的基于SolrZookeeper的分布式搜索方案,或者可以说,SolrCloudSolr的一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式,这些方式部署的Solr不具有SolrCloud的特色功能。

 

2. Solr安装

2.1 安装前说明

  • solr是基于lucene而lucene是java写的,所以solr需要jdk----当前安装的solr-7.5需要jdk-1.8及以上版本,下载安装jdk并设置JAVA_HOME即可。
  • 下载solr,然后解压即可,windows和linux都可以下.tgz(.tgz本质是.tar.gz)和.zip解压出来都一样的。
  • 在solr5以前solr的启动都有tomcat作为容器,但是从solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动。就是从solr5以后跟solr4最大的区别是被发布成一个独立的应用。
  • 在solr5之后solr其实特别容易安装,有安装包,之后在解压,直接启动bin下solr,solr就这样完成的启动了。

2.2 下载

地址:https://lucene.apache.org/solr/downloads.html

网速好的话,可以直接下载

wget http://archive.apache.org/dist/lucene/solr/7.7.3/solr-7.7.3.tgz

网速不好,就复制连接,然后放到迅雷里面下载,然后再上传到服务器。

2.3 启动solr

2.3.1 进入solr目录,目录分析

  • bin:是脚本的启动目录
  • contrib:Solr 的contrib目录包含 Solr 专用功能的附加插件目录
  • dev-tools:跟开发工具相关的包
  • dist:编译打包后存放目录,即构建后的输出产物存放的目录
  • docs:solr文档的存放目录
  • example:示范例子的存放目录,这里展示了DIH,即数据导入处理的例子
  • server:  此目录是 Solr 应用程序的核心所在。此目录中的 README 提供了详细的概述,但以下是一些特点:

  • Solr 的 Admin UI(server/solr-webapp)
  • Jetty 库(server/lib)
  • 日志文件(server/logs)和日志配置(server/resources)。有关如何自定义 Solr 的默认日志记录的详细信息,请参阅配置日志记录一节。
  • 示例配置(server/solr/configsets)

2.3.2 进入bin目录,目录分析

  • solrsolr.cmd:分别是用于* nix系统和Windows系统,根据所选参数不同而控制solr的启动和停止。
  • solr.in.shsolr.in.cmd:这些是分别用于* nixWindows系统的属性文件。
  • install_solr_services.sh:此脚本用于* nix系统将Solr作为服务安装

2.3.3 启动

./solr start

出现以上问题可以修改启动代码

./solr start -force

到此启动成功

2.4 测试验证

http://ip:8983/solr/

2.5 安装可能存在的问题

2.5.1 无法启动

如果上面的没有显示pid的值,说是有没有启动成功

原因:因为你的服务器配置太低,并关闭一个其它暂时用没用到服务

2.5.2 启动成功之后无法访问

如果是阿里云服务器

VM 因为你的虚拟机的防火墙没有关闭

#查看防火墙状态
firewall-cmd --state

#停止firewall
systemctl stop firewalld.service

#禁止firewall开机启动
systemctl disable firewalld.service

 

 

申明:内容来着网络,仅供学习使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值