一 solr5.5环境部署到Eclipse(luna版)
solr部署参见:http://blog.csdn.net/csmnjk/article/details/64121765
二 Ik分词器设置
IK分词器设置参见:http://blog.csdn.net/csmnjk/article/details/51693578
solr4版本的schema.xml文件对应solr5版本的managed-schema文件,确保http://localhost:8080/solr/admin.html登陆成功。
三 MySQl配置
1. 连接MYSQL数据库需要两个jar包:solr-dataimporthandler-5.5.0 jar和mysql-connector-java-5.1.40-bin.jar。前一个包在solr-5.5.0/dist中,后一个包http://download.csdn.net/download/u012453843/9667329点击下载。
2. 创建表
create table `article` (
`id` int unsigned not null auto_increment comment '主键编号',
`title` varchar(64) not null comment '书名',
`author`varchar(10) not null default 0 comment '作者',
`type`varchar(10) not null default 0 comment '类型',
primary key (`id`))
engine = innodb
auto_increment = 1
default character set = utf8 ;
3. 配置文件
(1)在solrHome\core\conf中的solrcong.xml文件下新增如下配置
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
并注释以下代码:
<schemaFactory class="ManagedIndexSchemaFactory">
<bool name="mutable">true</bool>
<str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>
(2)在conf文件夹下新建data-config.xml文件,并添加如下配置
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/test" user="root" password="password" />
<document name="article">
<entity name="article" pk="id"
query="select * from article"
deltaImportQuery="select * from article where id ='${dih.delta.id}'"
deltaQuery="select id from article where timestamp > '${dih.last_index_time}'">
</entity>
</document>
</dataConfig>
说明:user: MySQL用户名, password:MySQL登录密码,test:数据库名, article:表名。
(3)在其他地方备份managed-schema,将其改名为schema.xml。添加索引字段配置
<field name="title" type="text_ik" indexed="true" stored="true" multiValued="true" />
<field name="description" type="text_ik" indexed="true" stored="true" />
<field name="author" type="text_ik" indexed="true" stored="true" />
至此配置完成!
四 启动solr
core0->Dataimport->full-import->Execute,执行之后点下Refresh Status,右边就会显示索引信息。
查询验证下:
表中的四条数据全被索引并成功查询。