您的位置:首页 > 数据库 > MySQL

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

2014-10-09 16:57 399 查看
一、首先是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文件

<!-- the dataimport requestHandler -->

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">

<lst name="defaults">

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

</lst>

</requestHandler>

4、配置数据库映射文件,也就是第三步中的:db-data-config.xml文件。
在与solrconfig.xml相同的位置,也就是D:\apache-tomcat-7.0.34\solr\home\solr\collection1\conf目录下,创建data-config.xml文件,然后加入如下的配置:
<?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>
<!---- column对应的是数据库表中的列名,name对应的是schema.xml中配置的field节点中的name属性 --->
<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:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: