solr6.5.1搜索引擎的部署

目录结构如下:

6.5.1版本的solr已经集成有jetty服务器(在server目录下),所以可以直接启动solr应用。

1、java环境配置好(这里不再累赘)。

2、打开cmd,路径切换到bin目录下。运行“solr start”指令。启动服务成功。

http://localhost:8983/solr该路径可验证(“solr stop -all”为关闭服务指令)。

3、创建solr应用。指令:“solr  create  -c  test”。

4、创建好的test应用,在目录server/solr下生成有test文件夹结构如下:

同时可以在管理后台看到test应用

5、配置分词器

将 solr-6.5.1\server\solr\one\conf 目录下默认的配置文件 managed-schema 重命名为 schema.xml(有时不管用,不改命名直接修改配置文件managed-schema)

配置分词器,在配置文件(managed-schema)中加入如下配置:

<fieldType name="text_ik" class="solr.TextField">
    <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  </fieldType>

添加分词器所需的jar包,在test目录下创建 lib 目录,将用到的分词插件 ik-analyzer-solr5-5.x.jar 加到 lib 目录中,重启服务,在管理后台可看到该类型。可进入test项目的“Analysis”功能下测试分词器对语句的分解情况,如图:

说明分词器配置成功。

6、创建索引,即将从MySQL数据库中导入数据到 Solr 并建立索引。

      要导入的数据库表结构:id,title,content

      编辑 conf/solrconfig.xml 文件,加入类库和数据库配置:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

##################################################################

<requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
        <str name="config">db-mysql-config.xml</str>
    </lst>
</requestHandler>

--------------------------------------------------------------------------------------------

  同时新建数据库连接配置文件 conf/db-mysql-config.xml ,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>     
    <dataSource
        name="jdbc"
        driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/solr"
        user="root" password="root"/>
    <document>
        <entity name="my_news" pk="id"
            query="select id,title,content from my_news">
            <field column="id" name="id"/>
            <field column="title" name="title"/>
            <field column="content" name="content"/>
        </entity>
    </document>
</dataConfig>

  将数据库连接组件 mysql-connector-java-5.1.39-bin.jar 放到 test/lib 目录下,重启服务。

  接下来创建和我们数据库字段对应的 field:title 和 content,类型选为 text_ik(即是上面配置的中文分词器),配置如图所示:

执行全量导入数据,如图:

直接在“Query”下,可以搜索了。至此,基本的搜索引擎搭建完毕。

posted @ 2017-11-01 16:24  亦真亦假,何必当真  阅读(252)  评论(0编辑  收藏  举报