• 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.1serversolroneconf 目录下默认的配置文件 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”下,可以搜索了。至此,基本的搜索引擎搭建完毕。

  • 相关阅读:
    Linux块设备IO子系统(二) _页高速缓存
    Linux块设备IO子系统(一) _驱动模型
    Linux usb子系统(二) _usb-skeleton.c精析
    Linux usb子系统(一) _写一个usb鼠标驱动
    Linux i2c子系统(四) _从i2c-s3c24xx.c看i2c控制器驱动的编写
    Linux i2c子系统(三) _解决probe无法执行
    Linux i2c子系统(二) _通过i2c-dev.c访问设备的方法
    Linux i2c子系统(一) _动手写一个i2c设备驱动
    从0移植uboot(六) _实现网络功能
    从0移植uboot(五) _实现串口输出
  • 原文地址:https://www.cnblogs.com/wbjgogogo/p/7762694.html
Copyright © 2020-2023  润新知