您的位置:首页 > 其它

什么是Solr,它能为我们解决什么问题,怎么用?

2019-06-24 20:08 411 查看

一. 什么是Solr?

其实我们大多数人都使用过Solr,也许你不会相信我说的这句话,但是事实却是如此啊 ! 每当你想买自己喜欢的东西时,你可能会打开某宝或者某东,像这样一搜,就能搜到很多东西,你知道你看到的这些数据都来自哪儿吗?百度一下你就知道!这些数据来自哪儿吗?等你了解完Solr后你就知道答案啦!


现实生活中我们都知道大多数网站或应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。

这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从任何编程语言来使用solr。

Solr是一个开源搜索平台,用于构建搜索应用程序。 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。 使用Solr构建的应用程序非常复杂,可提供高性能。

为了在CNET网络的公司网站上添加搜索功能,Yonik Seely于2004年创建了Solr。并在2006年1月,它成为Apache软件基金会下的一个开源项目。并于2016年发布最新版本Solr 6.0,支持并行SQL查询的执行。

Solr可以和Hadoop一起使用。由于Hadoop处理大量数据,Solr帮助我们从这么大的源中找到所需的信息。不仅限于搜索,Solr也可以用于存储目的。像其他NoSQL数据库一样,它是一种非关系数据存储和处理技术。

总之,Solr是一个可扩展的,可部署,搜索/存储引擎,优化搜索大量以文本为中心的数据。

二. 那有人可能会说搜索数据库本身就支持啊,干嘛还要搞个什么solr?

其实正如上面solr的介绍中所说的那样.
solr本身也可以看成数据库,(no sql类型),但它比数据库搜索速度更快,所以在项目中我们一般把搜索的部分交给solr,就像我们在淘宝首页所看到的商品信息,并不是来自数据库,而是来源于sorl的索引库

数据库本身不能实现分词效果,而只能使用模糊查询,但是模糊查询非常低效,查询速度比较慢,由于在实际生活中,搜索是用的比较多的,这样数据库压力自然就很大,所以我们就让供专业的solr来做搜索功能

三.如果我们想要使用solr那么首先我们得安装它

1)环境介绍:

JDK:jdk1.8.0_121,请使用1.7及以上版本,笔者在JDK1.6上solr配置之后跑不起来

Tomcat:apache-tomcat-7.0.73

solr:solr-4.10.3

2)solr目录介绍:下载solr解压后的目录结构如图所示下载地址:https://lucene.apache.org/solr/downloads.html

bin是solr运行的脚本
contrib是solr的一些插件,用于扩展solr的功能
dist该文件夹下包含build过程中产生的war和jar文件,以及相关的依赖文件
doc:solr的文档
example:solr官方提供的一些示例程序,简要介绍几个示例
solr:该目录是一个包含了默认配置信息的Solr的Core目录
multicore:该目录包含了在Solr的multicore中设置的多个Core目录
webapps:该目录中包括一个solr.war,该war可作为solr的运行实例工程
licenses:solr相关的一些许可信息

3)创建solr工程

①、创建solr文件夹,在solr文件夹下创建solrHome文件夹,solrHome是solr运行的主目录,其下可以建立多个solr实例工程,及solrCore,solrCore单独对外提供一个搜索服务。

②、将solr-4.10.3\example\solr\下的所有文件copy到新建的solr工程的solrHome下,collection1即是一个solrCore,每个solrCore下的conf文件下都有solrconfig.xml文件,这是solrCore运行的配置文件。(solr-4.10.3是解压下载的Zip文件)
③、将solr-4.10.3下的contrib和dist 复制到solr下,与solrHome同级

④、加载jar包:打开solrCore(collection1)下conf文件中的solrconfig.xml文件,找到引用jar包的代码
注:1、solr.install.dir表示solrCore的位置,需要根据实际jar包的位置更改jar包引用路径

2、每两个点 . . 代表退到上一级目录,所以退了两级目录,到了solr目录,因此上图表示的是在引用的jar包在solr目录下的contrib或者dist目录下

⑤、更改dataDir:每个SolrCore都有自己的索引文件目录 ,默认在SolrCore目录下的data中

https://blog.csdn.net/luo609630199/article/details/82494708

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: