转载来源: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相关推荐

  1. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  2. Kubeadm 快速搭建 k8s 集群安装可视化管理界面

    文章目录 1. 实验准备 2. 安装 docker 3. 配置阿里云 K8S repo 源(三个节点) 4. 安装 kubeadm,kubelet,kubectl(三个节点) 5. 部署 kubern ...

  3. greenplum6数据库安装部署以及扩容介绍

    greenplum数据库安装部署 环境以及准备工作 集群机器规划 ip 主机名 基本配置 操作系统 11.8.37.111 gpmaster 4C8G CentOS7.4 11.8.37.112 gp ...

  4. ActiveMQ activemq web管理界面介绍

    [访问地址] Active MQ的web管理界面默认访问地址: http://127.0.0.1:8161/admin [Queues功能介绍]- 多的不说英文看不懂就看中文 英文界面截图 翻译界面截 ...

  5. 第三章_web管理界面介绍

    overview概览 web界面连接rabbitmq的端口是15672 Java连接rabbitmq使用的是http端口5672 在这里插入图片描述 connections: 无论生产者还是消费者,都 ...

  6. Qihoo360/wayne安装部署管理Kubernetes(k8s)集群

    一.概述 Kubernetes 官方本身就提供了一个管理集群的 Dashboard 插件,但是官方的 Dashboard 插件还是有一些局限性,近日360开源了内部使用的 Kubernetes Das ...

  7. FusionInsight环境的安装部署(FI的安装部署)

    ​​ FusionInsight环境的安装部署 ​FusionInsight的介绍    FusionInsight简称FI,是华为基于大数据平台开发的一个大数据集成软件.使用FI能快速安装部署各种开 ...

  8. HotDB开放下载先知————安装部署第一篇

    环境说明: 服务器:生产环境推荐使用物理机,测试环境可使用虚拟机.若需要做性能测试则必须 使用物理机. 操作系统:推荐使用64 位的CentOS 6.x.7.x或RHEL 6.x.7.x,其他操作系统 ...

  9. LogStash的安装部署与应用

    LogStash的安装部署与应用 介绍 1.Logstash是一个接收,处理,转发日志的工具; 2.Logstash支持网络日志.系统日志.应用日志.apache日志等等,总之可以处理所有日志类型; ...

最新文章

  1. 机器学习项目总结.pptx
  2. 算法训练 最小乘积(基本型) (蓝桥杯水题)
  3. 真正拉开人与人之间的差距是什么?
  4. Java 编写推箱子报告_Java推箱子怎么写啊?
  5. 专家点评Science | 朱冰/许瑞明合作团队报道CpG岛结合蛋白BEND3作用机制
  6. 三款免费的PHP加速器:APC、eAccelerator、XCache比较
  7. OpenShift Security (5) - 评估部署中的风险
  8. 如何使用phpMQTT连接阿里云微服务消息队列for IoT
  9. maven,eclipse--build时出现No compiler is provided in this environment
  10. BAT架构技术专题合集500+
  11. BZOJ2160 拉拉队排练
  12. 输出希腊字母表(JAVA实验)
  13. 工商数据返回:“企业不存在或企业信息未更新”,法定代表人验证失败的解决方法
  14. FTP空间是什么?如何获取免费FTP空间吗?
  15. C++ P1510 精卫填海
  16. 17款现代风格的免费英文字体,分享给设计师们
  17. 毕业设计源码基于Spring Boot的旅游管理系统的实现
  18. Veeam Availability Suite 9.5安装和配置
  19. 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解
  20. Random Thoughts #12 @2013:P2P狂想曲

热门文章

  1. MongoDB 教程五: MongoDB固定集合和性能优化
  2. 取代cookie的网站追踪技术:”帆布指纹识别”初探
  3. 在 PHP 中使用命令行工具
  4. 使用 Javascript操作DOM的一些方法
  5. python——pandas数据分析(表格处理)工具实现Apriori算法
  6. pssh批量远程管理
  7. SpringBoot—CORS跨域问题详解和解决方案
  8. 【C++】错误处理和异常处理
  9. 认识进程 java 1615387415
  10. sqlserver的登陆操作