solr5.4.0导入数据

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,全量导入,选择实体:

查看导入结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值