目录结构如下:

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. 【LeetCode】二叉搜索树的前序,中序,后续遍历非递归方法

    前序遍历 public List<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> list = n ...

  2. 现代php编程

    自动加载__autolaod和spl_autoload_register() 自动加载就是指如果找不到某个类如何处理的方式,具体可参见此文,可以说spl_autoload_register是更加高级, ...

  3. git clone 后误删除了分离出来的文件怎么恢复?

    git clone 后,会分离出项目的文件. 误删除了,可以使用以下命令恢复: #先检查一下git状态 git status #通过如下命令重新分离出文件 git checkout -f HEAD

  4. oss2罗列所有文件

    使用oss python sdk罗列某目录下所有文件. #!/usr/bin/python3 import sys, os import oss2 auth = oss2.Auth('keyID', ...

  5. Scala学习笔记(七):Rational、隐式转换、偏函数、闭包、重复参数及柯里化

    class Rational(n: Int, d: Int) { require(d != 0) private val g: Int = gcd(n, d) val number: Int = n ...

  6. PHP常见问题整理

    1. 如何在Windows下配置PHP开发环境? (1)下载并安装Apache,设置服务器的侦听端口.编辑Apache安装目录下的conf子目录中的httpd.conf文件,定位到DocumentRo ...

  7. Centos7 php-fpm root 运行,执行 kill 等系统命令

    Centos7 php-fpm root 运行,执行 kill 等系统命令 前提 当前系统安装的是宝塔环境,PHP的环境在如下的目录: /www/server/php/72/etc 1 修改 php- ...

  8. java基础---->String中replace和replaceAll方法

    这里面我们分析一下replace与replaceAll方法的差异以及原理. replace各个方法的定义 一.replaceFirst方法 public String replaceFirst(Str ...

  9. C++ Msi函数判断应用是否已经安装

    #include <Windows.h> #include <Msi.h> #pragma comment(lib, "Msi.lib") bool Che ...

  10. 让ADO.NET Entity Framework支持Oracle数据库

    Oracle最近发布了 Oracle Data Access Component(ODAC)11. 2 Rel 4,其中增加了对 Entity Framework 4.1 和4.2的支持.这让 .NE ...