您的位置:首页 > 博客中心 > 数据库 >

Solr 5.2.1 部署并索引Mysql数据库

时间:2022-03-14 16:56

1.Solr简介

  Solr是一个高性能,采用Java5开发,SolrSolr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

  Solr不仅可以对各种文档(doc、txt、pdf、html...)进行索引,还可以索引数据库中的数据。

  solr 5.2.1 下载地址:

2.启动Solr

  下载Solr文件后解压至任意目录,cd至solr主目录:/solr-5.2.1,使用如下命令启动Solr

  bin\solr start

  打开 ,进入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 导入数据库数据

  • 打开 ;
  • 选择collection;
  • 点击Dataimport;
  • Excute,done!

  ps:solr删除索引命令为:

<delete><query>*:*</query></delete>
<commit/>

 

本类排行

今日推荐

热门手游