Solr使用教程-Linux-Java-MySql

本文档详细介绍了在Linux环境下,如何配置和安装Solr 5.2,包括将Solr war包部署到Tomcat 7,设置Solr Home,创建并配置Core,以及从MySQL数据库导入数据到Solr Core的步骤。通过修改solrconfig.xml和data-config.xml文件,实现了数据导入功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Solr使用

配置安装

部署环境

系统环境:centos

Jdk:1.7

Tomcat:7

Solr版本:5.2

部署solr服务器

1.下载solr-5.2

wget  http://mirrors.hust.edu.cn/apache/lucene/solr/5.2.0/solr-5.2.0.tgz

2.解压solr-5.2.0.tgz

tar zxvf solr-5.2.0.tgz

3.在文件夹solr-5.2.0\server\webappssolr.war拷贝到tomcat

cp solr-5.2.0/server/webapps/solr.war  apache-tomcat-7.0.67/webapps

4.启动tomcat   war包部署完成

sh apache-tomcat-7.0.67/bin/startup.sh

5.部署完成后,将solr-5.2.0\server\lib\ext文件下的jar包拷贝,部署在tomcatsolrlib文件夹下

   cp solr-5.2.0/server/lib/ext/*  apache-tomcat-7.0.67/webapps/solr/WEB-INF/lib 

6.新建文件夹solr_home(名字自己取),solr-5.2.0\server\solr文件夹的内容拷贝到solr_home

   mkdir solr_home

   cp -rf solr-5.2.0/server/solr/*  solr_home

7.修改tomcat部署的solr中的web.xml(默认注释,需要打开)

这里的<env-entry-value>中的值就是在第5步新建的solr_home地址

vim apache-tomcat-7.0.67/webapps/solr/WEB-INF/web.xml

 

 

 

我们打开它,并且找到这一行,放开注释,并且修改<env-entry-value>

 

   <env-entry>

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

       <env-entry-value>/home/xu/solr_home</env-entry-value>

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

</env-entry>

 

到最后运行localhost:端口/solr,如果出现此页面即配置成功

 

solr中创建Core

 

在第一次运行solr时,我们需要创建一个数据我们的core

 

1.linux中执行命令

mkdir solr_home/mysolr

2.将示例的配置文件复制到我们创建的mysolr

cp -R solr_home/configsets/basic_configs/conf/ solr_home/mysolr

3.接下来我们就需要去管理界面添加core

修改上面两项名称为mysolr,即我们第一步创建的文件夹名(第一步中创建的文件夹名字是什么这里就写什么)

 

 

在下方英文提示中:告诉我们上面两个框中的文件夹必须在创建core之前存在,我们所创建的文件夹中有core的配置文件

创建成功后会生成core.properties  与   data文件夹

Core.properties中是这个coresolr的映射关系,还有配置文件的名称等。

Data中存储了这个core中的索引等等。

具体解释可以参考http://iamyida.iteye.com/blog/2211728

导入数据库中的数据到Core

我们需要导入两个jar包,一个solr导入相关的jar,一个数据库的驱动jar

cp solr-5.2.0/dist/solr-dataimporthandler-5.2.0.jar apache-tomcat-7.0.67/webapps/solr/WEB-INF/lib

cp 你的数据库驱动jar目录 apache-tomcat-7.0.67/webapps/solr/WEB-INF/lib

(需要拷贝你所用的数据库的驱动包)

 

solr-dataimporthandler-5.2.0.jar 把这个jar包拷贝到tomcat中,并重启tomcat

 

默认dataImport功能在Solr5中是禁用的,需要在solrconfig.xml中添加如下配置开启数据导入功能:

vim solr_home/mysolr/conf/solrconfig.xml

添加如下

<requestHandler name="/dataimport" 

class="solr.DataImportHandler">  

          <lst name="defaults">  

                <str name="config">data-config.xml</str>  

          </lst>  

    </requestHandler>  

 如上被我标红的data-config.xml 可以在示例中找到

从示例中直接拷贝一份data-config.xml到我们创建的core

      cp solr-5.2.0/example/example-DIH/solr/db/conf/db-data-config.xml solr_home/mysolr/conf/data-config.xml

data-config.xml稍作修改即可使用

这里我是以mysql为例子使用的

 <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://172.16.231.5:3306/db_inquiry_gldjc?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNul" user="root" password="root" />

 

<document>

           <entity name="mobile" query="select id,bill_number,title,created_at from artificial_inquiry_bills">  

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

            <field column="bill_number" name="billNumber"/>  

            <field column="title" name="title"/>  

            <field column="created_at" name="createdAt"/>  

         </entity>

 </document>

documentSolr的信息的基本单位的是Document,它是一组描述某些事物的数据集合。

FieldDocument的主要构成单元,是更具体的信息描述。

然后我们需要在schema.xml中定义在data-config.xml中的field

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

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

<field name="createdAt" type="date" indexed="true" stored="true"/>

Name:单元名   type:类型   indexed:是否索引  stored:是否储存

 

一切准备工作做好后在管理页面

 

 

按照步骤

1.点击dataimport

2.Command选择full-import   就是全部导入的意思

3.Entity 选择你想导入的entity

4.最后点击execute,即可导入

导入成功即可看到如下页面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值