• 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

      binsolr start

      打开 http://localhost:8983/solr,进入Solr管理界面;

    3.CREATE SolrCore 

      新建一个SolrCore,名为collection,命令如下:

      binsolr create -c collection

      系统将自动生成collection目录位于:solr-5.2.1serversolrcollection;

    4.修改相关配置文件

      4.1 打开collectionconfsolrconfig.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.1serversolr-webappwebappWEB-INFlib目录中,包括:

    solr-5.2.1dist目录中的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.1serversolr-webappwebappWEB-INFclasses目录中(没有就新建一个)

      4.7 重启solr

      binsolr restart -p 8983

      4.8 导入数据库数据

      ps:solr删除索引命令为:

    <delete><query>*:*</query></delete>
    <commit/>
  • 相关阅读:
    参数传递(值传递与引用传递)
    存入redis中的java对象都需要序列化
    windows环境Apache服务器启动失败的原因
    IDEA/Eclipse安装 Alibaba Java Coding Guidelines 插件
    使用freemarker对模板进行渲染
    java使用freemarker作为模板导出Excel表格
    mybatis 中 foreach collection的三种用法
    利用freemarker导出页面格式复杂的excel
    mysql limit和offset用法
    设计模式之二十一:中介者模式(Mediator)
  • 原文地址:https://www.cnblogs.com/mrpod2g/p/5045738.html
Copyright © 2020-2023  润新知