solr5.4.0导入数据

来源:互联网 发布:网络子网掩码 编辑:程序博客网 时间:2024/06/05 13:30

solr5.4.0安装

  • 前言
  • 配置
  • 创建collection
  • 启动
  • 导入数据

前言

前面已经讲了如何在本地安装启动solr,这一节讲一下如何创建collection

配置

创建collection命令

cd命令进入solr文件夹中的bin目录,输入命令:

solr create -c <name>

配置solrconfig.xml

此时,我们可以看到路径solr/server/solr下多了一个文件夹:collectionTest。在collectionTest/conf/文件夹里面有个文件名为:solrconfig.xml,在这个文件中加入如下内容:

<!--我的requestHandler配置start-->  <requestHandler name="/dataimport"         class="org.apache.solr.handler.dataimport.DataImportHandler">        <lst name="defaults">            <str name="config">data-config.xml</str>        </lst>      </requestHandler>   <!--我的requestHandler配置end-->

创建data-config.xml

在当前目录(collectionTest/conf)下创建配置文件data-config.xml,内容如下:

<dataConfig>  <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"    url="jdbc:mysql://localhost:3306/test" user="user" password="password"/>   <document name="search_object">      <entity name="user" query="select username,password               from user ">        <field column="username" name="username"/>        <field column="password" name="password"/>      </entity>   </document></dataConfig>

这里的配置是为了获取到mysql数据库里的字段信息。并定义在solr里应用时对应的别名。

配置managed-schema

打开managed-schema,添加以下内容:

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

必须用managed-schema,solr-5.0 以上默认对schema的管理是使用managed-schema,不能手动修改,找到name="id"的field,把它的required=’true’的属性干掉,因为如果你的数据表中没有id字段的话,在导入数据时候就会报错。

导入jar包

mysql-connector-java-5.1.35.jar放入solr/server/lib文件夹下。
修改配置文件solr/server/solr/connectionTest/conf/solrconfig.xml,加入以下内容:

<lib dir="../../../contrib/dataimporthandler/lib" regex=".*\.jar" />  <lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar" />  <lib dir="../../../lib/" regex="mysql-connector-java-5.1.35.jar" />

数据库表结构

建库sql:

/*SQLyog Ultimate v11.25 (64 bit)MySQL - 5.6.17-enterprise-commercial-advanced : Database - yyp**********************************************************************//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `test`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `username` varchar(255) NOT NULL,  `password` varchar(255) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

数据表数据如下:

启动

solr/bin目录下输入命令

solr start

启动solr服务,看到如下界面,证明我们配置启动成功:

导入数据

选择collectionTest,全量导入,选择实体:

查看导入结果:

1 0
原创粉丝点击