Solr7 安装部署 管理界面介绍 1
转载来源:https://www.cnblogs.com/itdragon/p/7995040.html
Solr7 安装部署 管理界面介绍
本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Query复杂查询和一些常见问题处理办法。文章底部会提供笔者安装的Solr7 window版本和centos版本,仅供参考学习使用。
什么是Solr
Solr 是Apache下的一个顶级开源项目,采用Java开发,基于Lucene的全文搜索服务器。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。
这里谈到了Lucene,它是一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,目的是为开发人员提供工具包,以方便的在系统中实现全文检索的功能。
而Solr 的目标是打造一款企业级的搜索引擎系统,可以独立运行。并且Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr7 安装部署
首先安装环境的jdk是 jdk1.8 或者更高,建议tomcat是tomcat8.0或者更高
You will need the Java Runtime Environment (JRE) version 1.8 or higher
[itdragon@localhost solr-server]$wget http://mirror.bit.edu.cn/apache/lucene/solr/7.1.0/solr-7.1.0.zip
[itdragon@localhost solr-server]$unzip solr-7.1.0.zip
[itdragon@localhost solr-server]$ls
apache-tomcat-8.5-solr solr-7.1.0
[itdragon@localhost solr-server]$mkdir -p apache-tomcat-8.5-solr/webapps/solr
[itdragon@localhost solr-server]$cd apache-tomcat-8.5-solr/webapps/solr/
[itdragon@localhost solr]$cp -r /home/itdragon/solr-server/solr-7.1.0/server/solr-webapp/webapp/* ./
[itdragon@localhost solr]$cp -r /home/itdragon/solr-server/solr-7.1.0/server/lib/ext/* ./WEB-INF/lib/
[itdragon@localhost solr]$cp -r /home/itdragon/solr-server/solr-7.1.0/server/lib/metrics*.* ./WEB-INF/lib/
[itdragon@localhost solr]$cp -r /home/itdragon/solr-server/solr-7.1.0/dist/solr-dataimporthandler-* ./WEB-INF/lib/
[itdragon@localhost solr]$cd ../../
[itdragon@localhost apache-tomcat-8.5-solr]$mkdir solrhome
[itdragon@localhost apache-tomcat-8.5-solr]$cp -r /home/itdragon/solr-server/solr-7.1.0/server/solr/* ./solrhome/
[itdragon@localhost apache-tomcat-8.5-solr]$vim webapps/solr/WEB-INF/web.xml
<env-entry><env-entry-name>solr/home</env-entry-name><env-entry-value>solrhome地址,pwd查看</env-entry-value><env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<!--<security-constraint>......省略</security-constraint>
-->
[itdragon@localhost apache-tomcat-8.5-solr]$cd bin/
[itdragon@localhost apache-tomcat-8.5-solr]$./startup.sh
第一步:系统环境准备:jdk版本在1.8,tomcat8.5
第二步:下载solr7,并解压在当前目录
第三步:在tomcat,webapps目录下创建solr目录,并将solr-7.1.0/server/solr-webapp/webapp/* 目录下的所有内容拷贝过去
第四步:将需要的jar导入到 WEB-INF/lib/ 下
第五步:在tomcat目录下创建solrhome(目录名自定义),并将solr-7.1.0/server/solr/* 目录下的所有内容拷贝过去
第六步:修改WEB-INF/web.xml 文件,指定solrhome的位置,并注释security-constraint 权限内容
第七步:启动tomcat,并访问http://ip:port/solr/index.html#/
注意:访问http://ip:port/solr/ 显示404,目前还没有找到原因,网上说jar没到导入,可是笔者都导入了。
看到管理页面说明安装成功
存在的问题
1 80端口占用
修改 tomcat/conf/server.xml 文件,更换端口号。
2 Logging页面,日志不能正常显示
[itdragon@localhost solr]$mkdir -p WEB-INF/classes
[itdragon@localhost solr]$cp /home/itdragon/solr-server/solr-7.1.0/server/resources/log4j.properties ./WEB-INF/classes/
第一步:在tomcat WEB-INF目录下创建classes目录
第二步:将solr-7.1.0/server/resources/目录下的log4j.properties文件拷贝到classes目录中,重启Solr
管理界面介绍
添加核心Core
在管理页面,点击Core Admin,选择AddCore,添加核心
name:自定义的名字,建议和instanceDir保持一致
instanceDir: solrhome目录下的实例类目
dataDir:默认填data即可
config:指定配置文件,new_core/conf/solrconfig.xml
schema:指定schema.xml文件,new_core/conf/schema文件(实际上是managed-schema文件)
注意!在scheme下面有一个感叹号!
instanceDir and dataDir need to exist before you can create the core
如果你不管他,直接点击Add Core 会提示 solrconfig.xml 文件找不到
Error CREATEing SolrCore 'new_core': Unable to create core [new_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or '/home/itdragon/solr/apache-tomcat-8.5/solrhome/new_core'
解决方法如下
[itdragon@localhost new_core]$mkdir conf
[itdragon@localhost new_core]$cp -r /home/itdragon/solr-server/solr-7.1.0/server/solr/configsets/_default/conf/* ./conf/
[itdragon@localhost solrhome]$cp -r /home/itdragon/solr-server/solr-7.1.0/contrib/ ./
[itdragon@localhost solrhome]$cp -r /home/itdragon/solr-server/solr-7.1.0/dist/ ./
检查solrconfig.xml和contrib目录,dist目录的相对位置
<!--
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
......省略
-->
<lib dir="${solr.install.dir:../../}/contrib/extraction/lib" regex=".*\.jar" />
......省略
第一步:将solr-7.1.0/server/solr/configsets/_default/目录下的conf 拷贝到 new_core 目录下。正确的目录结构:new_core/conf/solrconfig.xml
第二步:将contrib目录,dist目录拷贝到solrhome目录中
第三步:检查solrconfig.xml文件配置的路径是否正确,重启服务
重启服务后即可正常创建Core,然后instanceDir文件夹(new_core)里会自动生成一个core.properties文件
name=new_core
config=solrconfig.xml
schema=schema.xml
dataDir=data
第二次创建core,就不用这么麻烦了,直接把第一次创建的new_core目录复制一份,修改core.properties文件中的name 即可。
在Core Selector 中选择刚创建的 new_core,会出现很多菜单。这是本章的另一个重点。重点学习的内容:Query(查询页面),Documents (索引文档),Dataimport(导入数据),Analysis(分析,下章节和中文分词一起介绍)。其他了解即可。
Dataimport(导入数据)
点击Dataimport 显示 Sorry, no dataimport-handler defined! 解决方法如下
[itdragon@localhost ~]$cd solr-server/apache-tomcat-8.5-solr/solrhome/contrib/dataimporthandler/lib
# 导入solr-dataimporthandler 和 mysql-connector-java jar包
[itdragon@localhost solrhome]$vim new_core/conf/solrconfig.xml
<lib dir="${solr.install.dir:../../}/contrib/dataimporthandler/lib" regex=".*\.jar" />
......省略
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"><lst name="defaults"><str name="config">data-config.xml</str></lst>
</requestHandler>
[itdragon@localhost solrhome]$vim new_core/conf/data-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/jpa" user="root" password="root"/>
<document> <entity name="product" query="SELECT pid,name,catalog,catalog_name,price,description,picture FROM products "><field column="pid" name="id"/> <field column="name" name="product_name"/>
<field column="catalog" name="product_catalog"/><field column="catalog_name" name="product_catalog_name"/> <field column="price" name="product_price"/> <field column="description" name="product_description"/> <field column="picture" name="product_picture"/> </entity>
</document> </dataConfig>
第一步:进入solrhome/contrib/dataimporthandler/lib 目录下,若没有lib则创建一个,导入solr-dataimporthandler-7.1.0.jar 和 mysql-connector-java-5.1.17.jar 包
第二步:修改new_core/conf/solrconfig.xml 文件,使其加载dataimporthandler/lib下的jar包
第三步:在new_core/conf/solrconfig.xml 文件底部添加DataImportHandler 内容
第四步:在new_core/conf/ 目录下创建data-config.xml(数据库配置和对应的字段),重启服务
jar包和sql文件:
https://github.com/ITDragonBlog/daydayup/tree/master/Solr/data-import-jar
如果出现下图内容则说明配置成功。
Command:full_import:全量导入;delta_import:增量导入。
选择 全量导入,Execute执行,Refresh Status刷新查看状态,其他都选默认即可。
Clean:在索引开始构建之前是否删除之前的索引,默认为true
Commit:在索引完成之后是否提交。默认为true
Execute:执行导入
Refresh Status:刷新后才能看到数据发生了变化(点一次刷新一次)
Documents (索引文档)
索引的增加,修改,删除相关操作。其中修改的逻辑是先删除后增加。
比较重要的是前三个参数
Request-Handler(qt):update(新增,更新和删除都用update)
Document Type:提交的索引文档类型,有JSON、XML等格式
Document(s):提交的索引文档内容
Commit Within:每1000毫秒执行
Overwrite:true,若文档存在则默认覆盖
删除索引:删除用json格式会出错,用xml格式后面需添加< commit/>
工作中,我们不可能为了个别数据去写代码修改数据,那么熟练使用Documents,对我们的工作有很大的帮助。
Query(查询页面)
查询所有价格在10到20之间的数据,并以价格降序输出商品类目名,商品标题,商品价格信息。
Request-Handler(qt):select查询操作
q(query):查询条件,key:value 形式,只能满足简单的查询
fq(filter query):过滤条件。对q的补充,实现复杂的查询。如:product_price:[10.0 TO 20.0] 表示价格在10~20之间。" * " 表示无限,[ * TO 20.0] 表示小于20.0
sort:对查询结果排序。如:product_price desc 表示价格降序
start,rows,开始页数,和每页多少条,简称页码
fl(field list):指定那些字段有返回值。多个值用","分隔。如:product_catalog_name,product_name,product_price
df(default field):默认域,当q查询没有key的时候,发挥作用
wt(write type):输出格式,一般都是json
hl(high light):高亮,搜索的结果若不高亮,那就没啥意义了。下一章会介绍
其他
Dashboard:
显示了该Solr实例开始启动运行的时间、版本、系统资源(物理内存,交换空间)、jvm等信息
Logging:Solr运行日志信息
Java Properties:
Solr在JVM 运行环境中的属性信息,包括类路径、文件编码、jvm内存设置等信息。
Tread Dump:
显示Solr Server中当前活跃线程信息,同时也可以跟踪线程运行栈信息。
Overview:
包含基本统计如当前文档数;和实例信息如当前核心的配置目录
Files:
在线预览solrhome/new_core/conf/* 文件或者目录
Ping:
请求来检查核心是否启动并响应请求,点击后显示响应的毫秒数
Plugins / Stats:
插件及其状态
总结
- Solr7是基于Lucene的全文检索服务器,可以独立运行在servlet容器中
- Solr7的安装部署需要注意 tomcat/webapps/solr 和 solrhome 两个目录
- 创建Solr Core需要注意 solrconfig.xml文件在new_core/conf目录中
- Query查询,q + fq 实现复杂的查询,sort排序,fl指定回显数据,hl高亮
- Documents,支持新增,更新,删除索引文档
- Dataimport,导入数据,需要注意配置 solrconfig.xml 文件和创建 data-config.xml 文件
转载来源:https://www.cnblogs.com/itdragon/p/7995040.html 感谢原作者的文章贡献,如有侵权,请及时联系,以便删除
Solr7 安装部署 管理界面介绍 1相关推荐
- Solr7 安装部署 管理界面介绍
Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...
- Kubeadm 快速搭建 k8s 集群安装可视化管理界面
文章目录 1. 实验准备 2. 安装 docker 3. 配置阿里云 K8S repo 源(三个节点) 4. 安装 kubeadm,kubelet,kubectl(三个节点) 5. 部署 kubern ...
- greenplum6数据库安装部署以及扩容介绍
greenplum数据库安装部署 环境以及准备工作 集群机器规划 ip 主机名 基本配置 操作系统 11.8.37.111 gpmaster 4C8G CentOS7.4 11.8.37.112 gp ...
- ActiveMQ activemq web管理界面介绍
[访问地址] Active MQ的web管理界面默认访问地址: http://127.0.0.1:8161/admin [Queues功能介绍]- 多的不说英文看不懂就看中文 英文界面截图 翻译界面截 ...
- 第三章_web管理界面介绍
overview概览 web界面连接rabbitmq的端口是15672 Java连接rabbitmq使用的是http端口5672 在这里插入图片描述 connections: 无论生产者还是消费者,都 ...
- Qihoo360/wayne安装部署管理Kubernetes(k8s)集群
一.概述 Kubernetes 官方本身就提供了一个管理集群的 Dashboard 插件,但是官方的 Dashboard 插件还是有一些局限性,近日360开源了内部使用的 Kubernetes Das ...
- FusionInsight环境的安装部署(FI的安装部署)
FusionInsight环境的安装部署 FusionInsight的介绍 FusionInsight简称FI,是华为基于大数据平台开发的一个大数据集成软件.使用FI能快速安装部署各种开 ...
- HotDB开放下载先知————安装部署第一篇
环境说明: 服务器:生产环境推荐使用物理机,测试环境可使用虚拟机.若需要做性能测试则必须 使用物理机. 操作系统:推荐使用64 位的CentOS 6.x.7.x或RHEL 6.x.7.x,其他操作系统 ...
- LogStash的安装部署与应用
LogStash的安装部署与应用 介绍 1.Logstash是一个接收,处理,转发日志的工具; 2.Logstash支持网络日志.系统日志.应用日志.apache日志等等,总之可以处理所有日志类型; ...
最新文章
- 机器学习项目总结.pptx
- 算法训练 最小乘积(基本型) (蓝桥杯水题)
- 真正拉开人与人之间的差距是什么?
- Java 编写推箱子报告_Java推箱子怎么写啊?
- 专家点评Science | 朱冰/许瑞明合作团队报道CpG岛结合蛋白BEND3作用机制
- 三款免费的PHP加速器:APC、eAccelerator、XCache比较
- OpenShift Security (5) - 评估部署中的风险
- 如何使用phpMQTT连接阿里云微服务消息队列for IoT
- maven,eclipse--build时出现No compiler is provided in this environment
- BAT架构技术专题合集500+
- BZOJ2160 拉拉队排练
- 输出希腊字母表(JAVA实验)
- 工商数据返回:“企业不存在或企业信息未更新”,法定代表人验证失败的解决方法
- FTP空间是什么?如何获取免费FTP空间吗?
- C++ P1510 精卫填海
- 17款现代风格的免费英文字体,分享给设计师们
- 毕业设计源码基于Spring Boot的旅游管理系统的实现
- Veeam Availability Suite 9.5安装和配置
- 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解
- Random Thoughts #12 @2013:P2P狂想曲