Solr 5.2.1 部署并索引Mysql数据库
1.Solr简介
Solr是一个高性能,采用Java5开发,SolrSolr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
Solr不仅可以对各种文档(doc、txt、pdf、html...)进行索引,还可以索引数据库中的数据。
solr 5.2.1 下载地址:http://archive.apache.org/dist/lucene/solr/5.2.1/
2.启动Solr
下载Solr文件后解压至任意目录,cd至solr主目录:/solr-5.2.1,使用如下命令启动Solr
bin\solr start
打开 http://localhost:8983/solr,进入Solr管理界面;
3.CREATE SolrCore
新建一个SolrCore,名为collection,命令如下:
bin\solr create -c collection
系统将自动生成collection目录位于:\solr-5.2.1\server\solr\collection;
4.修改相关配置文件
4.1 打开collection\conf\solrconfig.xml,添加如下内容:
<requestHandler name="/dataimport" class="solr.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>
修改为:
<schemaFactory class="ManagedIndexSchemaFactory" />
4.2 在当前目录下创建data-config.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?> <dataConfig> <dataSource name="slave1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://your_ip:3306/your_database_name" user="username" password="password" batchSize="-1" /> <document> <entity name="weibo" pk="ID" dataSource="slave1" query="SELECT id,text,baseUrl,author FROM your_table_name"> <field column="id" name="id" /> <field column="text" name="text" /> <field column="baseUrl" name="baseUrl" /> <field column="author" name="author" /> </entity> </document> </dataConfig>
4.3 在当前目录下创建admin-extra.html、admin-extra.menu-bottom.html、admin-extra.menu-top.html三个文件;
4.4 重命名managed-schema文件为schema.xml
打开后添加如下内容:
<field name="text" type="text_IKAnalyzer" indexed="true" stored="true" /> <field name="baseUrl" type="text_general" indexed="true" stored="true" /> <field name="author" type="text_general" indexed="true" stored="true" /> <defaultSearchField>text</defaultSearchField> <fieldType name="text_IKAnalyzer" class="solr.TextField"> <analyzer type="index" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>
4.5 将相关jar包放入\solr-5.2.1\server\solr-webapp\webapp\WEB-INF\lib目录中,包括:
\solr-5.2.1\dist目录中的solr-dataimporthandler-5.2.1.jar和solr-dataimporthandler-extras-5.2.1.jar
JDBC驱动:mysql-connector-java-5.0.8-bin.jar
IK-Analyzer分词器:IK-Analyzer-ForSolr5.1.jar
4.6 将IK-Analyzer的相关配置文件放入\solr-5.2.1\server\solr-webapp\webapp\WEB-INF\classes目录中(没有就新建一个)
4.7 重启solr
bin\solr restart -p 8983
4.8 导入数据库数据
- 打开 http://localhost:8983/solr;
- 选择collection;
- 点击Dataimport;
- Excute,done!
ps:solr删除索引命令为:
<delete><query>*:*</query></delete> <commit/>