(搜索引擎之solr) sorl运行环境的搭建及从mysql中导入数据创建索引

本文详细介绍如何在Tomcat环境中部署Solr,并实现从MySQL数据库导入数据进行索引的方法。包括配置步骤、必要文件的设置及验证过程。

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

一、首先是solr在tomcat中的运行环境搭建

   下载solr-4.2.0

1:将dist目录下的solr-4.2.0.war 复制到tomcat 下的webapps根目录,重命名为solr.war,运行tomcat,solr.war被解压。


2:在tomcat根目录(可以是任何目录)新建文件目录solr/home,将solr-4.1.0\example下的solr复制到solr/home目录下,如果要配置多核,只用复制solr-4.1.0\example\multicore下的core0、core1、solr.xml复制到solr/home

3: 找到 webapps\solr\WEB-INF下的web.xml,配置solr/home信息
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/apache-tomcat-7.0.34/solr/home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>


到这里,就可以测试一下了.运行tomcat,访问http://127.0.0.1:端口号/solr/admin

如果看到solr的主页面,并且没有错误信息,说明已经配置成功。


二、下面是通过从mysql中导入数据进行数据的采集与索引

1、将mysql的驱动程序jar包拷贝到D:\apache-tomcat-6.0.24\webapps\solr\WEB-INF\lib下面。

2、从下载的solr的dist文件夹中将solr-dataimporthandler-4.2.0.jar及solr-dataimporthandler-extras-4.2.0.jar拷贝到D:\apache-tomcat-6.0.24\webapps\solr\WEB-INF\lib下面。(如果缺少会报ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler异常)

3、配置solrconfig.xml文件

  1.        <!-- the dataimport requestHandler --> 
  2.        <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
  3.                <lst name="defaults"> 
  4.               <str name="config">data-config.xml</str> 
  5.              </lst> 
  6.        </requestHandler> 

4、配置数据库映射文件,也就是第三步中的:db-data-config.xml文件。

       在与solrconfig.xml相同的位置,也就是D:\apache-tomcat-7.0.34\solr\home\solr\collection1\conf目录下,创建data-config.xml文件,然后加入如下的配置:

 
  1. <?xml version="1.0" encoding="UTF-8"?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.46.178.23:3306/zxdbm_appstore" user="root" password="root"/> <document>
  2. <!---- column对应的是数据库表中的列名,name对应的是schema.xml中配置的field节点中的name属性 --->
  3. <entity name="userinfo" pk="user_id" query="select user_id, user_name, user_desc from my_users"> <field column="user_id" name="id"/> <field column="user_name" name="title"/> <field column="user_desc" name="content"/> </entity> </document> </dataConfig>
5、 启动 tomcat ,打开浏览器,并输入:

http://localhost:8080/solr/dataimport?command=full-import

如果没有问题就会显示如下返回结果:

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
</lst>
<lst name="initArgs">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
<str name="Total Requests made to DataSource">1</str>
<str name="Total Rows Fetched">2</str>
<str name="Total Documents Skipped">0</str>
<str name="Full Dump Started">2014-10-09 16:51:31</str>
<str name="">
Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.
</str>
<str name="Committed">2014-10-09 16:51:31</str>
<str name="Total Documents Processed">2</str><!--这里表示采集了2行数据-->
<str name="Time taken">0:0:0.532</str>
</lst>
<str name="WARNING">
This response format is experimental. It is likely to change in the future.
</str>
</response>


6、这时打开http://localhost:8080/solr/#/collection1就会显示
Last Modified:
20 minutes ago  // 上次索引时间
Num Docs:
2   // 索引的数目
Max Doc:
2   
Deleted Docs:
0
Version:
59
Segment Count:
1
Optimized:
Current:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值