Solr-5:Tomcat中部署Solr-5.5

Posted 健哥说编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr-5:Tomcat中部署Solr-5.5相关的知识,希望对你有一定的参考价值。

1、Colr部署到Tomcat

对于tomcat版本,没有太多要求。只要能正常运行就可以了。

 

1、打包solr

solr-5.5.5\server\solr-webapp\webapp目录下,执行:

> java -cvf solr.war *

此时,将打成一个war包:solr.war

 

 

2、将solr.war放到tomcat/webapps目录下

apache-tomcat-8.5.34\webapps

solr.war

 

3、启动tomcat

运行apache-tomcat-8.5.34\bin\startup.bat文件。运行这个文件,会自动解压solr.war文件。

以下是已经解压的solr:

 

Solr-5:Tomcat中部署Solr-5.5

 

4copy几个jar

Solr的目录,solr-5.5.5\server\lib\ext目录下以下几个jar包:

 

Solr-5:Tomcat中部署Solr-5.5

拷贝到:apache-tomcat-8.5.34\webapps\solr\WEB-INF\lib目录下。就是将solr的几个包放到tomcat运行环境下的solr项目中。

 

5、拷贝日志文件log4j.properties

拷贝solr-5.5.5\server\resources目录下的log4j.properties文件,

apache-tomcat-8.5.34\webapps\solr\WEB-INF\classes目录下。如果没有classess目录,请手工创建它。

 

 

6、修改solr_home

修改apache-tomcat-8.5.34\webapps\solr\WEB-INF目录下的web.xml文件,添加以下内容:

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-type>java.lang.String</env-entry-type>

<env-entry-value>D:/solr_home</env-entry-value>

  </env-entry>

图示:

 

Solr-5:Tomcat中部署Solr-5.5

说明:solr_home可以是任何的目录,我们这儿设置成D:/solr_home。然后去D:/盘,创建solr_home文件夹。

 

7、拷贝配置文件

solr-5.5.5\server\solr目录下的所有文件:

 

Solr-5:Tomcat中部署Solr-5.5

拷贝到D:/solr_home目录下:

 

Solr-5:Tomcat中部署Solr-5.5

 

8、查看solr服务

到时,可以重新启动一下tomcat。然后查看

http://localhost:8080/solr/index.html#/

 

Solr-5:Tomcat中部署Solr-5.5

显示上面的内容,说明启动成功。

 

可以访问admin.html,则不会有 This is an experimental UI的提示:

http://localhost:8080/solr/admin.html#/

 

Solr-5:Tomcat中部署Solr-5.5

 

 

 

9、创建一个core

 

1、在D:/solr_home目录下,创建一个core1目录:D:\solr_home\core1

2、将D:\solr_home\configsets\basic_configs目录下的文件,拷贝到core1目录下。

可选的删除里面的文件:_rest_managed.json

 

 

10、在界面上,创建一个core

如果后台没有core1目录,则这儿将创建不成功,所以先创建后台的那个目录。

 

Solr-5:Tomcat中部署Solr-5.5

 

创建成功以后显示的信息:

 

Solr-5:Tomcat中部署Solr-5.5

然后就可以通过以下位置,查看:

 

Solr-5:Tomcat中部署Solr-5.5

 

 

OK ,到此,你已经创建了一个Core

 

 

11、添加索引字段

修改文件:D:\solr_home\core1\conf\managed-schema

添加以下索引:(注意,由于之前已经有了id索引字段,所以不用再重复添加)

 

Solr-5:Tomcat中部署Solr-5.5

 

 <field name="name" type="string" indexed="true" stored="true"/>

 <field name="address" type="string" indexed="true" stored="true"/>

 <field name="age" type="string" indexed="true" stored="true"/>

保存以后,可以直接通过页面查看:

 

Solr-5:Tomcat中部署Solr-5.5

Solr-5:Tomcat中部署Solr-5.5

 

 

12、添加数据

1、在页面上添加数据

按以下规则输入数据:

 

Solr-5:Tomcat中部署Solr-5.5

 

<add>

   <doc>

        <field name="id">S001</field>

        <field name="name">Jack</field>

        <field name="address">Chinese ShangDong</field>

        <field name="age">34</field>

   </doc>

   <doc>

<field name="id">S002</field>

        <field name="name">张三</field>

        <field name="address">中国北京</field>

        <field name="age">55</field>

   </doc>

</add>

 

保存完成以后,再刷新一下,就会看到有两个文档,已经添加成功了:

 

Solr-5:Tomcat中部署Solr-5.5

然后就可以去测试下查询结果:

 

Solr-5:Tomcat中部署Solr-5.5

就可以查询出数据:

 

 

Solr-5:Tomcat中部署Solr-5.5

 

2、通过post.jar添加文档

Post.jar在目录D:\programfiles\solr-5.5.5\example\exampledocs下,里面都是示例文档。

可以将post.jar放到任意的目录下,通过java -jar执行。

获取post.jar的使用帮助可以输入以下命令:java -jar post.jar -h,其中-h是指help。注意post.jar要输入完整目录:

D:\a\a1>java -jar D:/a/post.jar -h

SimplePostTool version 5.0.0

Usage: java [SystemProperties] -jar post.jar [-h|-] [<file|folder|url|arg> [<fil

e|folder|url|arg>...]]

 

Supported System Properties and their defaults:

  -Dc=<core/collection>

  -Durl=<base Solr update URL> (overrides -Dc option if specified)

  -Ddata=files|web|args|stdin (default=files)

  -Dtype=<content-type> (default=application/xml)

  -Dhost=<host> (default: localhost)

  -Dport=<port> (default: 8983)

  -Dauto=yes|no (default=no)

  -Drecursive=yes|no|<depth> (default=0)

  -Ddelay=<seconds> (default=0 for files, 10 for web)

  -Dfiletypes=<type>[,<type>,...] (default=xml,json,jsonl,csv,pdf,doc,docx,ppt,p

ptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log)

  -Dparams="<key>=<value>[&<key>=<value>...]" (values must be URL-encoded)

  -Dcommit=yes|no (default=yes)

  -Doptimize=yes|no (default=no)

  -Dout=yes|no (default=no)

 

This is a simple command line tool for POSTing raw data to a Solr port.

NOTE: Specifying the url/core/collection name is mandatory.

Data can be read from files specified as commandline args,

URLs specified as args, as raw commandline arg strings or via STDIN.

Examples:

  java -Dc=gettingstarted -jar post.jar *.xml

  java -Ddata=args -Dc=gettingstarted -jar post.jar '<delete><id>42</id></delete

>'

  java -Ddata=stdin -Dc=gettingstarted -jar post.jar < hd.xml

  java -Ddata=web -Dc=gettingstarted -jar post.jar http://example.com/

  java -Dtype=text/csv -Dc=gettingstarted -jar post.jar *.csv

  java -Dtype=application/json -Dc=gettingstarted -jar post.jar *.json

  java -Durl=http://localhost:8983/solr/techproducts/update/extract -Dparams=lit

eral.id=pdf1 -jar post.jar solr-word.pdf

  java -Dauto -Dc=gettingstarted -jar post.jar *

  java -Dauto -Dc=gettingstarted -Drecursive -jar post.jar afolder

  java -Dauto -Dc=gettingstarted -Dfiletypes=ppt,html -jar post.jar afolder

The options controlled by System Properties include the Solr

URL to POST to, the Content-Type of the data, whether a commit

or optimize should be executed, and whether the response should

be written to STDOUT. If auto=yes the tool will try to set type

automatically from file name. When posting rich documents the

file name will be propagated as "resource.name" and also used

as "literal.id". You may override these or any other request parameter

through the -Dparams property. To do a commit only, use "-" as argument.

The web mode is a simple crawler following links within domain, default delay=10

s.

 

现在上传一个文档:

在任意的目录下创建一个a.xml文件,并输入以下内容:

<add>

   <doc>

        <field name="id">S003</field>

        <field name="name">Smith</field>

        <field name="address">US</field>

        <field name="age">38</field>

   </doc>

   <doc>

<field name="id">S004</field>

        <field name="name">李四</field>

        <field name="address">中国山东济南</field>

        <field name="age">25</field>

   </doc>

</add>

 

然后使用post.jar上传,注意post.jar默认将使用localhost:8983端口。

完整命令:

D:\a\a1>java -Ddata=stdin -Dc=core1 -Durl=http://localhost:8080/solr/core1/update -jar d:/a/post.jar < D:/a/a.xml

SimplePostTool version 5.0.0

POSTing stdin to http://localhost:8080/solr/core1/update...

COMMITting Solr index changes to http://localhost:8080/solr/core1/update...

Time spent: 0:00:00.131

 

Solr-5:Tomcat中部署Solr-5.5

执行完成以后,直接查看文档数量,原来是2个,现在是4个:

 

Solr-5:Tomcat中部署Solr-5.5

 

查询测试:

 

 



 

 

 

 

 


以上是关于Solr-5:Tomcat中部署Solr-5.5的主要内容,如果未能解决你的问题,请参考以下文章

solr

Solr5.5.5 学习 一

solr 文档二

solr全文检索

使用 Spring boot 1.5.9 验证 solr/postgresql 数据库的兼容性版本

solr学习笔记section1-在tomcat中部署单(节点)机solr5.5.4