废话不多说,直接来硬的!我在使用的时候使用的是mysql数据库。

一、ElasticSearch概念和使用场景

1.当我们需要搜索海量数据的时候,就可能会用到。以下使用的场景有哪些呢?

  1. 搜索海量数据
  2. 分布式(单点、或多节点使用)
  3. 全文检索
  4. 实时快速
  5. Restful

2.默认端口9200和9300,安装后默认试用双端口下面说区别:

  • 9200 端口是ES节点与外部通讯使用的端口。它是http协议的RESTful接口(各种CRUD操作都是走的该端口,如查询:http://localhost:9200/testes/_search)。
  • 9300端口是ES节点之间通讯使用的端口。它是tcp通讯端口,集群间和TCPclient都走的它。(java程序中使用ES时,在配置文件中要配置该端口)

3.安装方式elastic官网下载,解压文件夹,点击bin文件夹中的elasticsearch.bat文件

4.中文分词插件

  • standard
  • simple
  • whitespace:
  • lauguage
  • ik(全拼:elasticsearch-analysis-ik,重点说这个,主要是分词效果比较好)

ik分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/tags   版本对应es版本,下载后在解压目录下创建plugins文件夹解压放置 如:D:\elasticsearch\elasticsearch-6.3.2\plugins

二、数据同步工具logstash(elastic官网工具)

简单的说就是利用logstash把数据从mysql同步到es,然后根据业务场景直接从es中查询数据。

开源中间件常见哪些:阿里的mysql-binlog / siddontang / go-mysql-elasticsearch,下面重点说logstash。

  • logstash

1.解决哪些问题?

数据同步(全量,增量)

全量:第一次建立后全量同步到es
          增量:新增、修改老数据、删除老数据

2.下载地址:elastic官网(对应版本)

3.配置方式

1.把mysql-connector-java.jar文件放进根目录下

2.在安装目录下config文件夹中添加mysql.conf文件。配置如下:

 1 input{
2 jdbc {
3 jdbc_driver_library => "D:\\logstash-6.3.2\\logstash-6.3.2\\mysql-connector-java-5.1.8.jar"
4 jdbc_driver_class => "com.mysql.jdbc.Driver"
5 jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/testes" //此处的testes为创建的索引名称
6 jdbc_user => "testes" //mysql username
7 jdbc_password => "testes" //mysql密码
8 schedule => "* * * * *"
9 clean_run => true
10 statement => "select * from t_blog where update_time > :sql_last_value and update_time < now() order by update_time desc" //此处的sql为同步的sql
11 }
12 }
13
14 output {
15 elasticsearch {
16 hosts => ["127.0.0.1:9200"]
17 index => "testes" //索引名称
18 document_id => "%{id}" //此处不用替换,id默认指的就是表中的id
19 }
20 #stdout {
21 #codec => json_lines
22 #}
23 }

3.在安装目录下bin文件夹下执行cmd命令:

logstash -f ../config/mysql.conf

三、kibana工具(elastic官网工具)

用途查询数据,以及数据可视化分析。(同样也可用postman)

下载地址:elastic官网

使用方法:直接解压,执行目录下bin文件夹kibana.bat文件。默认端口为5601,直接在浏览器输入:localhost:5601

四、检验是否成功

1.首先执行elasticSearch.bat文件,然后执行logstash和kibana.

2.在kibana页面执行

POST /testes/_search
 { 
 }

既成功!!!

ElasticSearch--一、使用场景以及对应软件配置安装的更多相关文章

  1. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  2. elastic-search单机部署以及中文分词IKAnalyzer安装

    前提条件 elasticsearch使用版本5.6.3,需要jdk版本1.8,低于该版本不能使用 下载 https://artifacts.elastic.co/downloads/elasticse ...

  3. ELK 架构之 Elasticsearch、Kibana、Logstash 和 Filebeat 安装配置汇总(6.2.4 版本)

    相关文章: ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 架构之 Logstash 和 Filebe ...

  4. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  5. Elasticsearch 在 windows 和 ubuntu 下详细安装过程

    1. 前言 作为一名 .NET 平台开发者,选择开发框架时总会面临更多的局限性,不过对于搜索这种刚需服务来说,开源框架可供选择的余地还是比较大的.笔者之前用的是 Lucene.net ,现在深感其使用 ...

  6. Elasticsearch.Net搜索引擎初使用【客户端安装】

    下载windows客户端 官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/net-api/6.x/introduction.ht ...

  7. 原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装(图文教程)

    欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/ ...

  8. elasticsearch + kibana + x-pack + logstash_集群部署安装

    elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...

  9. 七个生产案例告诉你BATJ为何选择ElasticSearch!应用场景和优势!

    本文来源于公众号[胖滚猪学编程],转载请注明出处. 从今天开始,想和你一起死磕ElasticSearch,学习分布式搜索引擎,跟着胖滚猪就对了! 既然是ES的第一课,那么最重要的是让你爱上它!不想说那 ...

随机推荐

  1. Python妙用re.sub分析正则表达式匹配过程

    声明:本文所使用方法为老猿自行研究并编码,相关代码版权为老猿所有,禁止转载文章,代码禁止用于商业用途! 在<第11.23节 Python 中re模块的搜索替换功能:sub及subn函数>介 ...

  2. PyQt(Python+Qt)学习随笔:基于项的项部件(Item Widgets(Item-Based))概述

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 Model/View架构中的视图部件是基于模型的项视图(Item Views(Model-Based ...

  3. web文件包含

    web安全~文件包含总结   文章来自freebuf,作者总结的很好,所以拿来做笔记用!!! 0×01 文件包含简介 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当P ...

  4. Java基础学习之HelloWorld(2)

    前言 学习一门新的编程语言永远逃脱不了一场Hello World. 1.第一个程序 1.1.磁盘中新建一个文件 这里我们需要将文件后缀名显示出来,就是文件格式. 打开控制面板,取消隐藏已知文件类型的扩 ...

  5. 微信小程序template和组件

    template主要是展示,主要是在调用的页面中定义.用import方式引入,然后去使用,通常是单独建立一个文件夹 去管理,文件夹有两个文件wxml和wxss,wxml中 可以定义多个template ...

  6. MySQL技术内幕InnoDB存储引擎(七)——事务

    什么是数据库的事务? 事务是访问并更新数据库中各种数据的一个程序执行单元.事务也是数据库区别于文件系统的一个重要特性. 事务需要满足的特性 1.原子性 原子性就是指数据库中的一个完整的事务是不可分割的 ...

  7. Java8新特性探索之新日期时间库

    一.为什么引入新的日期时间库 Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的. 关 ...

  8. 四、testNG.xml 简单介绍

    TestNG定义了一套非常具体的术语描述测试. testng.xml testng.xml是一个以XML记录所有测试的文件.可以利用这个文件,跑同一个类或者多个不同类里面的测试用例. testng.x ...

  9. Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置

    1. Mycat简介 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一 ...

  10. 除了MD5加密,试一下签名吧

    需求 MD5加密,简单密码用彩虹表很容易破解. 密码不能被暴力破解,可以根据定制字符,时间戳等防止破解 解决方案 签名 密码加密 源码 const crypto = require('crypto') ...