Apache Solr 全文检索概述 与 Win10 下安装 Solr
目录
Solr 全文检索概述
Solr 下载与目录结构
Solr 4. 10. 3 安装
测试运行 Solr
Solr 核心概念
Solr 全文检索概述
1、Lucene 是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene 提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以 Lucene 为基础构建全文检索引擎。
2、Solr 的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过 Solr 可以非常快速的构建企业的搜索引擎,通过 Solr 也可以高效的完成站内搜索功能。
Lucene 主页:http://lucene.apache.org/ Solr 主页:http://lucene.apache.org/solr/ Solr 全部版本下载地址:http://archive.apache.org/dist/lucene/solr/ Solr 使用指南:https://wiki.apache.org/solr/FrontPage |
3、Solr 可以独立运行在 Jetty、Tomcat 等 Servlet 容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr 根据 xml 文档添加、删除、更新索引 。
4、Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。
5、Solr 不提供构建 UI 的功能,Solr 提供了一个管理界面,通过管理界面可以查询 Solr 的配置和运行情况。
6、Solr 对 Lunece进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化
7、Solr 提供了一个完善的功能管理界面,是一款非常优秀开放源码的全文搜索引擎。
8、Solr对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
9、Solr 支持多种输出格式(包括XML/XSLT 和JSON等格式),易于安装和配置,而且附带了一个基于HTTP 的管理界面。
10、Solr是Apache的一个项目!同样几百万的数据用Mysql会咔很久,而Solr照样能秒查
Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites.
(Solr 是高度可靠的、可扩展和容错的,提供分布式索引、复制和负载均衡查询、自动故障转移和恢复、集中式配置等。Solr 为许多世界上许多知名的互联网站点提供搜索和导航功能。
Solr 与 Lucene 对比
1、Solr 与 Lucene 并不是竞争对立关系,恰恰相反 Solr 依存于 Lucene,因为 Solr 底层的核心技术是使用Lucene 来实现的。
2、Solr 和 Lucene 的本质区别有以下三点:
Solr 是搜索服务器,企业级管理,而 Lucene 本质上是搜索库,不是独立的应用程序 Lucene 专注于搜索底层的建设,而 Solr 专注于企业应用。 Lucene 不负责支撑搜索服务所必须的管理,而Solr负责。 |
3、一句话概括:Solr 是 Lucene 面向企业搜索应用的扩展。
Solr 应用领域
1、在一些大型门户网站、电子商务网站等都需要站内搜索功能,使用传统的数据库查询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度快、搜索结果按相关度排序、搜索内容格式不固定等,这里就需要使用全文检索技术实现搜索功能。
2、单独使用 Lucene 实现站内搜索需要开发的工作量较大,主要表现在:索引维护、索引性能优化、搜索性能优化等,因此不建议单独使用。
3、基于 Solr 实现站内搜索扩展性较好并且可以减少程序员的工作量,因为 Solr 提供了较为完备的搜索引擎解决方案,因此在门户、论坛等系统中常用此方案。
Solr 下载与目录结构
1、Solr 全部版本下载地址:http://archive.apache.org/dist/lucene/solr/,找到对应版本之后,点击即可下载。
目录结构
不同版本目录结构有所不同。
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:该目录中包括一个solr.war,该war可作为solr的运行实例工程。
licenses:solr 相关的一些许可信息
Solr 4. 10. 3 安装
1、根据系统需要下载对应的 Solr 项目,不同版本的 Solr 安装略有不同,Linux 与 Windows 系统安装也略有不同
2、本文安装环境:Windows 10 + Tomcat 9.0+ Solr 4.10.3 + JDK 8 (Tomcat 版本可以是8.0、7.0等)
3、Solr 本身就是一个 Web 应用,所以只需要部署项目,然后做一些配置即可。
安装与配置
1、找到下载好的 Solr 中的 solr-xxx\example\webapps 下面的 solr.war 项目,然后 Ctrl + C 复制它放入到 Tomcat 下的 webapps 目录下。
2、运行 Tomcat 服务器让它自动解压 solr.war 项目,Tomcat 服务器启动完成,solr 应用解压好之后,先关闭 Tomcat 服务器,接着删除原来的 solr.war 文件,来下解压好的 solr 应用即可。
3、找到下载好的 Solr 中的 solr-xxx\example\lib\ext 目录,然后复制 ext 目录下的所有 jar 包,接着放置到 Tomcat 的 webapps 下的 solr 应用中的 lib 目录中 (说白了就是 solr应用还依赖这些扩展的 日志 jar包 )
4、为 Solr 应用配置 solrHome(关于 Solr Home、Solr Core 文档后面会做详细解释,这里先讲配置),新建一个 solrHome 文件夹作为 solr 的 home(主)目录( 位置任意,名字自己取),然后拷贝下载好的 Solr 中的 solr-xxx\example\solr 下面的所有文件到 solrHome 文件夹下。
5、solrHome 目录准备之后,就需要告诉 Tomcat 服务器下的 solr 应用指向这个 solrHome,进入 tomcatXxx\webapps\solr\WEB-INF,修改 web.xml,取消 env-entry 注释,将 env-entry-value 值指向准备好的 solrHome 目录
6、配置 solrCore 的依赖与插件,不使用也是可以的,不过建议添加上,找到下载好的 solr-xxx 下面的 contrib 与 dist 目录,全部复制,然后放置到自己指定的位置去,因为还会在 solrHome 下面的 solrCore 中的配置文件中进行指定它们。
7、如下所示,就把它们两个放在了 solrHome 同级目录中
8、找到 solrHome 下面的 collection1(SolrCore)中的 conf 目录下的 solrconfig.xml 文件打开它
9、然后修改文件中插件和依赖的路径,可以像如下所示使用相对路径,也可以删除 "${xxx}" 这一部分,然后使用绝对路径,注意相对路径的是以 conf 目录为基准,往上走两级,刚好到 contrib 与 dist
10、如果这一步的 solrCore 插件与依赖没有配置成功,则运行时,日志会提示找不到它们,但只是警告,并不影响程序运行
测试运行 Solr
1、启动 Tomcat 服务器,浏览器地址栏访问:localhost:8080/solr
Solr 核心概念
solrHome
SolrHome 是 solr 的核心目录,一个 solrHome 中可以有多个 solr 实例,默认会有一个实例 collection1 SolrHome 目录名称可以自己定义,只需在 solr 应用中的 web.xml 中指定即可 SolrHome 的位置自己定义,但是不建议放到 Tomcat 下,因为随着应用运行时间的逐渐增长,solrCore 中的索引和文档会持续增加。 |
solrCore
SolrHome 下的 collection1 就是一个默认的 solrCore,可以设置多个,一个 SolrCore 就是一个 solr 的实例 每个实例对外单独的提供索引和文档的增删改查服务,默认实例叫做 collection1 一个 SolrCore 相当于 mysql 中的一个数据库 SolrCore 之间是相互隔离。 SolrCore 中的 conf 目录包含了索引 solr 实例的配置信息。 conf 文件夹下的 solrconfig.xml 配置实例的相关信息,如果使用默认配置可以不用做任何修改。 |
Apache Solr 全文检索概述 与 Win10 下安装 Solr相关推荐
- 在Win10下安装python+tensorflow-gpu-2.4 虚拟环境
概述 在win10下,已经有了一个anaconda的python+tensorflow1.15环境,然而缺少一个python+tensorflow 2的环境,用虚拟环境的方式将其安装到位. 1 确定t ...
- win10 mbr下装linux,在Win10下安装Ubuntu 18.04双系统(MBR+Legacy)
刚刚在win10下安装了ubantu18.04系统,亲测有效!中途遇到了很多坑,一一为大家避免 以下就是我安装双系统的详细步骤 BIOS引导方式 目前主要的系统引导方式也有两种:传统的LegacyBI ...
- win10下安装Ubuntu后,启动时没有win10选项解决方法
win10下安装Ubuntu后,启动时没有win10选项解决方法 参考文章: (1)win10下安装Ubuntu后,启动时没有win10选项解决方法 (2)https://www.cnblogs.co ...
- Docker知识4:如何在win10下安装 / 使用ubuntu ?应用WSL2
官方文档:Install WSL on Windows 10 | Microsoft Docs 提要: 本文是关于docker的专题讨论,作者用一组文档尽可能保证完整地阐述Docker到底是啥?如何使 ...
- win10下安装ubuntu,双系统,免U盘
win10下安装ubuntu,双系统,免U盘 关键词:win10,ubuntu,双系统,免, U盘 1-6,8 参考:https://www.jianshu.com/p/417c1001a559 7 ...
- win10下安装SQLServer2000
<win10下安装SQLServer2000> 请注意:本机不能装些乱七八糟的流氓软件,如:加密软件等,否则这些软件的进程会导致上述的SETUP\SETUPSQL.EXE能启动但看不到界面 ...
- mysql安装最后两项无响应,win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法...
win10下安装mysql 1. 官网下载mysql 网址:https://www.mysql.com/downloads/ download页面往下拉:点击下图红框: 按下图指示操作: 下载之后解压 ...
- win10下安装多个cuda(cuda9.0和10.0),并自由切换版本
1.前言 最近想测试下cuda版本的高地是否会影响GPU显存的初始占用,如果低版本的cuda占用显存较少那岂不是非常棒?所以这就牵涉到了多版本cuda共存的问题,网上很多博客只是浅谈了安装过程,我这里 ...
- win10下安装Ubuntu18.4双系统(适合小白)
win10下安装Ubuntu18.4双系统(适合小白) 注:本篇为传统MBR引导方式下安装. 查了很多博客,有的地方说法都不同,导致踩了一些坑.所以大家参考的时候还是得对自己的电脑配置等要具体情况具体 ...
- 在Win10下安装Anaconda3,“开始”菜单目录下只有Anconda prompt怎么办
有些机器(通常是台式机)安装win10后,在此win10环境下安装python3.7版本的Anaconda3,安装完成了,系统环境变量也配置好了,查看"开始"菜单中的Anacond ...
最新文章
- php删除数组中指定值的元素
- 从java中的hibernate看Ado.net 与NHibernate的关系
- 模板匹配—归一化相关系数匹配算法
- Andorid的Linux基础教学之四 进程的生死存亡
- linux shell 三种自动交互 方法
- ffmpeg rtsp转 rtmp
- 模块化以及插件化开发个人设计思路
- 高数第七版_习题解答_3-1行列式习题
- ITK:在没有写访问权的情况下遍历整个图像
- 华为内测基于Android 10.0的EMUI 10系统;2019年Q1真无线耳机市场份额,苹果占半壁江山……...
- PHP学习记录_基本语法
- python--正则表达式 字符串匹配
- matlab中count是干什么,matlab编程潮流计算的count值与什么有?
- combing string
- Dubbo+ZK入门使用
- python化学公式配平_Python趣用—配平化学方程式
- [POI2008]Mirror Trap
- 如何在 Mac 上录制屏幕
- Buy and Resell HDU - 6438 贪心
- ios越狱,impactor无法使用的替代方案
热门文章
- [导入]XACT与X3DAudio整合的问题
- 与网络计算机相比,和通信网络相比,计算机网络最本质的功能是什么
- html字体_斗鱼关注人数爬取 | 字体反爬的攻与防
- 拓端tecdat:matlab用Logistic逻辑回归建模和马尔可夫链蒙特卡罗MCMC方法分析汽车实验数据
- 拓端tecdat|R语言使用Bass模型进行手机市场产品周期预测
- 12v直流电机并联多大电容_对电容的理解
- php 帝国cms discuz,帝国CMS整合Discuz图文教程
- Caffe傻瓜系列(7):solver优化方法
- pyspark分类算法之随机森林分类器模型实践【randomForestClassifier】
- python语言检测模块langid、langdetect使用