Solr--01.Solr部署到Tomcat上

一、Solr概述

1、Solr概述

      Solr是一个独立的企业级搜索应用服务器、它对外提供类似于web-service的API接口、用户可以通过http请求、
向搜索引擎服务器提交一定格式的文件、生成索引、也可以通过http访问提出查找请求、并得到各种格式的返回结果、
       Solr本质是基于Lucene的全文搜索服务器、同时对其进行了扩展、提供了比Lucene更为丰富的查询语言、
同时实现了可配置可扩展、并对查询性能进行了优化、并提供了一个完善的功能管理界面。

2、Solr下载及安装

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

历史版本下载网址:http://archive.apache.org/dist/lucene/solr/

本博客用的是4.10.2版本 

3、Solr目录结构

安装:解压即安装。如下图

 解压后为solr-4.10.2为安装目录

 solr-4.10.2/example目录

Solr内部有一个内置的WEB容器,叫Jetty.Jetty是一个WEB容器

Solr目录:包含全文检索要存储的索引数据以及相关的一些配置文件。

solr-webapp和webapps:其实包含的是一样的内容,
都是Solr的内置Web应用,我们可以通过Http请求访问该应用,实现对Solr服务的管理和访问

start.jar:web应用需要一个Web容器来启动,
而这个jar包会使用一个叫做Jetty的WEB容器(类似与Tomcat),来启动Solr的Web服务。

二、Solr部署到Tomcat上

1、使用solr央置的Jetty服务器启动solr

步骤:

1)	进入solr-4.10.2/example目录
2)	打开命令行,执行 java -jar start.jar 命令,即可启动Solr服务
3)	打开浏览器,通过http://localhost:8983/solr来访问Solr管理页面。(Jetty服务的默认端口是8983)

2、将Solr部署到Tomcat中

步骤:

(1)、部署Web服务,将solr-4.10.2/example/webapps/solr.war复制到自己的tomcat/webapps目录中,并解压

(2)、在Tomcat中加入相关jar包:将需要的jar包复制到tomcat/webapps/solr/WEB-INF/lib下、如图
<为了防止不必要的错误、将如下包也拷到D:\apache-tomcat-8.5.31\lib>

(3)、修改Tomcat配置文件,指向Solr的索引库及配置目录。
注意,拷贝solr-4.10.2/example/solr目录,到D盘、D:/develop/solr、把这个文件夹复制出来,独立使用

(4)、打开tomcat/bin/catalina.bat文件、添加一条配置信息、set "JAVA_OPTS=-Dsolr.solr.home=d:/develop/solr"
(5)、进入tomcat/bin目录、点击startup.bat启动tomcat
(6)、打开浏览器、访问http://localhost:8080/solr

 

注意:如果浏览器运行有错误就修改这里:如下图

 运行结果:

三、Solr管理页面

1、DashBoard(仪表盘)

仪表盘,显示Solr的基本信息。其中包括运行时间,版本信息,JVM及系统内存使用情况。

2、Logging(日志)

显示Solr运行过程中的错误信息和异常信息。其中,黄色代表警告,红色代表异常。
Level 是用来控制相关类日志的显示信息的内容,将Level选项点开。其中:
         ALL:显示全部信息
         INFO:除了正常信息,其余信息全部显示
         WARN:显示警告信息
         ERROR:显示异常信息
UNSET:移除之前设置的信息

3、Core Admin (Core管理)

在Solr中,每一个Core,代表一个索引库,里面包含索引数据及其信息。
Solr中可以拥有多个Core,也就同时管理多个索引库!就像在MySQL中可以有多个database一样!

Core 管理:索引库管理,索引库优化等。(如下图)

主要包括 Add Core(添加 Core)、Unload(卸载 Core)、Rename(重命名 Core)、Optimize(优化索引库)几个功能。

以Solr官方的例子basic_configs的Core为例,

其中:
instanceDir:代表当前 Core 的根目录
dataDir:代表当前 Core 索引文件的存放目录
numDocs:代表当前 Core 索引文档数量。
maxDoc:代表当前 Core 最大索引文档数量。

 

4、JavaProperties和ThreadDump

Java和Jetty或Tomcat一些属性信息,jdk版本信息等等。
JVM 中的所有活动线程的Thread Dump,Java的运行参数。

5、CoreSelector(Core选择器)

5.1、界面预览

这里可以看到目前存在的所有Core,并且可以选择其中一个,进行更详细的操作:

 

 5.2、通过Solr管理界面添加索引数据

5.3、通过Solr管理界面查询索引数据

 

查询参数解释:

 

名称

描述

q

query 查询字符串,必须的。

fq

filter query。使用Filter Query可以充分利用Filter Query Cache,提高检索性能。作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。

fl

field list。指定返回结果字段。以空格“ ”或逗号“,”分隔。

start

用于分页定义结果起始记录数,默认为0。

rows

用于分页定义结果每页返回记录数,默认为10。

sort

排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。

df

默认的查询字段,一般默认指定。

q.op

覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定。必须大写

wt

writer type。指定查询输出结构格式,默认为“xml”。在solrconfig.xml中定义了查询输出格式:xml、json、python、ruby、php、phps、custom。

qt

query type,指定查询使用的Query Handler,默认为“standard”。

explainOther

设置当debugQuery=true时,显示其他的查询说明。

defType

设置查询解析器名称。

timeAllowed

设置查询超时时间。

omitHeader

设置是否忽略查询结果返回头信息,默认为“false”。

indent

返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数。

version

查询语法的版本,建议不使用它,由服务器指定默认值。

debugQuery

设置返回结果是否显示Debug信息。

hl

高亮

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值