[solr] - 环境搭建 - 使用tomcat做为容器

这里忽略solr其他依赖环境的搭建,这里搭建solr5.2.1。使用Java1.7.0_17,tomcat使用6.0.36版本的。



1、下载solr压缩文件

  Solr是Apache基金组织在lucene之上建立的一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。Lucene是一个全文检索引擎工具包,不是一个完整的应用服务器。下载Solr的地址为:http://mirrors.hust.edu.cn/apache/lucene/solr/,这个链接中只有常用的版本和最新的版本,如果需要下载其他版本的solr,请进入链接http://archive.apache.org/dist/lucene/solr/。这里我们下载solr-5.2.1版本的solr。

2、解压solr-5.2.1.tgz,解压后目录为F:\study\solr-5.2.1,下面我将该目录设为${SOLR_HOME}。

3、将${SOLR_HOME}\server\webapps\下的solr.war复制到tomcat的webapps目录下,并启动tomcat,tomcat会自动将war包解压。

4、关闭tomcat,删除solr.war文件,修改solr文件夹名为solr5.2.1(可选)。

5、复制jar包,将${SOLR_HOME}\server\lib\ext目录下的所有jar复制到${TOMCAT_HOME}\webapps\solr5.2.1\WEB-INF\lib目录下。

6、在E盘建立一个文件夹E:\solrhome\5.2.1,设置WEB-INF下的web.xml文件。我们之后将该文件夹设为${SOLR.SOLR.HOME}

1 <env-entry>
2    <env-entry-name>solr/home</env-entry-name>
3    <env-entry-value>E:\solrhome\5.2.1</env-entry-value>
4    <env-entry-type>java.lang.String</env-entry-type>
5 </env-entry>

7、复制文件${SOLR_HOME}/server/solr目录下的solr.xml和zoo.cfg两个文件到我们建立的${SOLR.SOLR.HOME}文件夹中。

8、由于Solr5.2.1中的example core位于example文件夹中,是为了使用自带jetty添加的,所以我们就直接创建新的collection。

8、在${SOLR.SOLR.HOME}文件夹中添加一个子目录core0/conf,在conf中创建两个文件,分别为:schemal.xml和solrconfig.xml文件。文件内容如下所示:

<?xml version="1.0" ?>
<schema name="core0" version="1.5">
    <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>

    <field name="id"        type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
    <field name="name"      type="string"   indexed="true"  stored="true"  multiValued="false" />
    <field name="age"      type="long"   indexed="true"  stored="true"  multiValued="false" />
    <field name="_version_" type="long"     indexed="true"  stored="true"/>

    <uniqueKey>id</uniqueKey>

    <defaultSearchField>name</defaultSearchField>

    <solrQueryParser defaultOperator="OR"/>
</schema>

schema.xml

<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <luceneMatchVersion>5.2.1</luceneMatchVersion>
    <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>

    <dataDir>${solr.core0.data.dir:}</dataDir>

    <schemaFactory class="ClassicIndexSchemaFactory"/>

    <updateHandler class="solr.DirectUpdateHandler2">
        <updateLog>
            <str name="dir">${solr.core0.data.dir:}</str>
        </updateLog>
    </updateHandler>

    <requestHandler name="/get" class="solr.RealTimeGetHandler">
        <lst name="defaults">
            <str name="omitHeader">true</str>
        </lst>
    </requestHandler>  

    <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" /> 

    <requestDispatcher handleSelect="true" >
        <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" formdataUploadLimitInKB="2048" />
    </requestDispatcher>

    <requestHandler name="standard" class="solr.StandardRequestHandler" default="true" />
    <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
    <requestHandler name="/update" class="solr.UpdateRequestHandler"  />
    <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />

    <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
        <lst name="invariants">
            <str name="q">solrpingquery</str>
        </lst>
        <lst name="defaults">
            <str name="echoParams">all</str>
        </lst>
    </requestHandler>

    <admin>
        <defaultQuery>solr</defaultQuery>
    </admin>
</config>

solrconfig.xml

9、启动Tomcat,访问http://localhost:8080/solr5.2.1/#/,我们可以看到访问以及成功,现在开始设置我们刚刚创建的core0这个collection。

10、在solr web page中创建新的core。

   

11、插入数据

  插入数据在这里介绍两种方式,第一种通过post.jar来插入数据,第二种通过solr web page来插入数据,我们先采用post.jar插入。

  使用post.jar进行插入数据:

  a) 复制${SOLR_HOME}\example\exampledocs\post.jar到${SOLR.SOLR.HOME}\core0目录下。

  b) 创建一个xml文件或者复制exampledocs文件夹下的ipod_other.xml文件,并进行修改。

  c) 结合我们之前创建的schema.xml文件,我们发现有id,name,age,_version_四个属性,其中_version_由solr自动创建。那么表示我们的xml文件中只能有id,name和age。内容参考如下:

<add>
<doc>
  <field name="id">HS-14</field>
  <field name="name">Tom</field>
  <field name="age">20</field>
</doc>
<doc>
  <field name="id">IW-02</field>
  <field name="name">Benedict Bill</field>
  <field name="age">19</field>
</doc>
<doc>
  <field name="id">IW-04</field>
  <field name="name">Bernard Bill</field>
  <field name="age">23</field>
</doc>
</add>

ipod_other.xml

  d) 进入cmd命令行,移动到目标目录后,执行命令:

java -Durl=http://localhost:8080/solr5.2.1/core0/update -Ddata=files -jar post.jar ipod_other.xml

    

  e) 进入web page查看文档,http://localhost:8080/solr5.2.1/#/~cores/core0,如下图,我们可以看到文档数量在增加。

  使用web page url进行数据的插入:

  a) 进入http://localhost:8080/solr5.2.1/#/core0/documents页面,这里我们采用json数据格式进行数据的插入:

  b) 添加要插入的数据后,截图如下:

  我们可以通过query来查看数据结果:如下:

至此solr5.2.1的tomcat安装完成,在此过程中我遇到的问题,我会标志在下的:

问题一:Can‘t find: admin-xxx.html

  这个问题在solr5.2.1中我也不知道为什么会存在,不过将${SOLR_HOME}/example/example-DIH/solr/solr/conf目录下将admin-extra.xml、admin-extra.menu-bottom.html和admin-extra.menu-top.html复制到${SOLR.SOLR.HOME}/core2/conf目录下,重新加载core即可。

问题二: null:java.lang.RuntimeException:java.lang.LinkageError

  这个问题在apache-tomcat7.0.56中存在,我将tomcat换成tomcat6以后,就没有出现过了,问题好像是编译有冲突,不过我没找它,可以参考:

https://jira.duraspace.org/browse/DS-2293https://issues.apache.org/jira/browse/SOLR-7060

其他的就没有遇到啥问题啦,这个tomcat安装到此为止。

时间: 2024-11-10 12:18:27

[solr] - 环境搭建 - 使用tomcat做为容器的相关文章

Solr环境搭建

记录一下Solr环境搭建,基于Solr 4.6.0. 一.配置Tomcat 下载Tomcat 7.0.新建一个solr文件夹,解压tomcat到solr目录下: solr tar -zxvf apache-tomcat-7.0.69.tar 启动tomcat: ./apache-tomcat-7.0.69/bin/catalina.sh start 访问8080端口测试. 二.配置solr solr下载地址:http://archive.apache.org/dist/lucene/solr/

jdk、tomcat、solr环境搭建

环境概述 1)操作系统:windows7旗舰版(64位) 2)jdk:jdk-8u131-windows-x64: 3)tomcat:apache-tomcat-9.0.0.M21 4)solr:solr-6.6.0 环境下载 jdk安装 注意点: 1)安装路径必须全英文 2)jdk安装完成之后,紧接着会提示安装jre,最好保持这两个安装文件夹在同一个大文件夹下,例如: 3)配置环境变量 a)添加系统变量:键:JAVA_HOME:值:D:\Program Files\Java\jdk1.8.0_

SOLR环境搭建以及全量导入MYSQL数据

SOLR文档 前言 因为项目中要用到solr,因此花了一周多的时间研究了一下solr,其中的各种问题我就不说了,特别是这两天在研究定时增量索引的时候,心里不知道多少个XXX在奔腾,好了,废话不多说,下面把我得研究成果跟大家分享一下,另外对于SOLR是什么,大家还是自行度娘吧,让我说我也说不清楚. 版本 SOLR SOLR最新的版本是5.3,但是我没有用最新的版本,用的是4.10.4. JDK JDK的版本是jdk1.7.0_13,这里要说一下的就是4.10版本的SOLR需要1.7以上的JDK,刚

[精华]Hadoop,HBase分布式集群和solr环境搭建

1. 机器准备 1.1 准备了2台机器,安装win7系统(64位) 两台windows物理主机: 192.168.131.44 administrator/(密码是一个空格) 192.168.131.67 administrator/(密码是一个空格) 1.2. 每台机器上安装VMwareWorkstation8.0.3 VMwareWorkstation8.0.3序列号:JG2TD-DJL95-FZZZ8-DU1NH-33GH7 1.3. 创建虚拟机CentOS-6.5-x86_64-bin-

solr环境搭建及java小demo

一配置solr环境 1.下载solr 2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful/p/6746341.html) a.在下载的solr文件夹下的\example\solr\下将文件全部考到一个文件夹中(本人是放在E:\MySoft\solr\home中的) b.初始化solr实例 在solr解压路径的\example\webapps\路径下有一个solr.war,将其复制到to

[solr] - 环境搭建

这里忽略java安装和tomcat安装,这里使用的是solr-4.10.0 1.到apache下载solr,地址: http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压出solr-4.10.0 3.复制solr-4.10.0\example\webapps中的solr.war文件到tomcat安装目录中的webapps文件夹下 4.运行tomcat.(忽略怎么运行tomcat),tomcat会自动解压solr.war文件. 5.删除solr.wa

基于tomcat的solr环境搭建(Linux)

??  solr是基于lucene的一个全文检索服务器,提供了一些类似webservice的API接口,用户可以通过http请求solr服务器,进行索引的建立和索引的搜索.索引建立的过程:用户提交的文本会经过分词器进行分词,分词后的关键字会存到索引库里,索引库是关键字和目标文档的映射集.索引搜索的过程:用户提交的搜索文本也是会经过分析器,得到的关键字会去索引库查询对应的目标文档并返回给客户端,采用的是权重排序算法. 1.solr的安装 2.中文分词器的安装 配置信息: <!--中文分词器 -->

dubbo开发环境搭建与tomcat集成、DEMO示例(最完整版本、带管理控制台、监控中心、zookeeper)

以windows为例,linux基本相同,开发环境一般linux,个人环境一般windows(如果不开额外vm的话). 示例以dubbo官方自带demo为例子,进行整合和稍加修改测试. 0.dubbox是dubbo的当当fork版本,特性上最主要是集成了REST.就核心功能而言,dubbo和大部分其他rpc框架比如spring cloud类似,由客户端.服务端.服务注册与发现中心.监控中心以及管理中心组成.如下: 1.安装zookeeper,从https://zookeeper.apache.o

java开发环境搭建(jdk,tomcat,maven)

安装和测试jdk是否安装成功 安装jdk可以用安装版的(exe)或者解压版的(zip):如果用的是安装版的就不用配置环境变量了 //以解压版为例 1.去oracle的官网去下载jdk版本,有安装版和解压版可以下载 2.把jdk放到需要安装的目录下,解压 3.然后去配环境变量(右键'我的电脑'--属性--高级系统设置--环境变量--系统变量--新建) 4.配置如下环境 变量 JAVA_HOME:复制到jdk目录下,比如:C:\Program Files\Java\jdk1.7.0_25 path: