您的位置:首页 > 其它

solr5.4.0导入数据

2015-12-31 16:21 337 查看

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



查看导入结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  搜索技术 solr