目录结构如下:

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”下,可以搜索了。至此,基本的搜索引擎搭建完毕。

solr6.5.1搜索引擎的部署的更多相关文章

  1. solr6.4.1搜索引擎(5)使用zookeeper3.4.9分布式集群

    本文讲的是如何使用zookeeper将solr分布式部署,也可以理解为tomcat分布式部署. 为什么要使用zookeeper,请参考文章<Solr的SolrCloud与Master-slave ...

  2. solr6.4.1搜索引擎同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  3. solr6.4.1搜索引擎(3)增量同步mysql数据库

    尚未实现首次同步mysql数据库的,请参考我的另一篇文章http://www.cnblogs.com/zhuwenjoyce/p/6512378.html(solr6.4.1搜索引擎同步mysql数据 ...

  4. solr6.4.1搜索引擎(2)首次同步mysql数据库

    尚未成功启动solr的,请参考我的另一篇文章:http://www.cnblogs.com/zhuwenjoyce/p/6506359.html(solr6.4.1 搜索引擎启动eclipse启动) ...

  5. solr6.4.1 搜索引擎(1)启动eclipse启动

    solr是一个java写的搜索引擎,所以支持java方式的eclipse调试. 本篇文章使用solr版本为6.4.1 一. 环境 solr 下载地址 http://archive.apache.org ...

  6. prerender.io 搜索引擎优化 部署成windows服务 实现开机自动开启服务

    一  prerender.io服务端部署 参考官方网站的部署步骤: $ git clone https://github.com/prerender/prerender.git $ cd preren ...

  7. solr6.4.1搜索引擎(4)tomcat重启后数据加载缓慢或丢失

    解决tomcat重启后数据加载缓慢或丢失 我们在首次全量导入和第二次增量导入数据都成功后,在研究solr过程中,会反复重启tomcat. 我们会发现在重启tomcat后,core的data目录下明明已 ...

  8. Solr——Windows下部署Solr6.6.0至Tomcat8.5.28(一)

    一.window 环境 solr 6.6.3 下载地址 http://archive.apache.org/dist/lucene/solr/ jdk 1.8    tomcat 8.5 本机tomc ...

  9. 全文搜索引擎 Elasticsearch (二) 使用场景

    1.场景—:使用Elasticsearch作为主要的后端 传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力.这是因为早期的搜索引擎不能提供耐用的​​存储或其他经常需要的功能 ...

随机推荐

  1. 详解Zookeeper原理与应用场景

    Zookeeper 分布式协调服务 应用之处:发布.订阅,命名服务,分布式协调和分布式锁 对比 Chubby: Chubby 被定义为 分布式的锁服务 为分布式系统提供 松耦合.粗粒度 的分布式锁功能 ...

  2. Vue 创建组件的方式

    Vue 创建组件的方式 2018年08月07日 11:10:56 虔诚带着决然 阅读数:1015   版权声明:本文为博主原创文章,未经博主允许不得用做其他商业活动. https://blog.csd ...

  3. java 中 ResourceBundle 使用 国际化使用

    java 中 ResourceBundle 使用 可以根据以下类进行获取国际化文件: package org.mybatis.generator.internal.util.messages; imp ...

  4. R par yaxp xaxp 显示x轴和y轴的刻度线

    R语言会自动根据数据的范围,在X轴和Y轴上标记合适的刻度 > options(scipen = ) > plot(sample(:, )) 生成的图片如下 通过par("yaxp ...

  5. name转json

    ^(\{)?(?<=\n)(.*)(\})?$ "$2":"", UserId UserOrderId ChargeAccount BuyNum Good ...

  6. git 中merge的用法

    git merge –no-ff 可以保存你之前的分支历史.能够更好的查看 merge历史,以及branch 状态. git merge 则不会显示 feature,只保留单条分支记录.

  7. vue双向绑定的时候把遍历的数组转为了字符串,并且再转回去数组进行绑定

    我的问题大家可能不太懂,我详细再解释一下,就是我通过遍历一个大的数组,多层遍历之后,最后的值还是一个小的数组,形如: aaa:[ { bbb1:[ "111","&quo ...

  8. 内建模块 datetime使用

    #-*- coding:utf-8 -*- from datetime import datetime #获取当前日期和时间 now =datetime.now() print now # 2017- ...

  9. Nginx 日志文件 access_log 详解

    Module ngx_http_log_module nginx 日志相关指令主要有两条, 一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格 ...

  10. Linux下常见命令

    =============挂载和登陆命令======================================== Mount:挂载命令. 比方挂载光驱mount /dev/cdrom /mnt ...