常见的日志系统是基于logstach+elasticsearch+kibna框架搭建的,但是有时候kibana的查询无法满足我们的要求,因此有时需要代码去操作es,本文后续都以es代替elasticsearch。

一.es基本概念理解

  索引:含有相同属性的文档的集合.(可理解为数据库database)

  类型:索引可以定义一个或多个类型,文档必须属于一个类型。(可以想象成数据库中的表table)

  文档:文档是可以被索引的基本数据单位。(可以想象成数据库表中的一条数据)

  分片:每一个索引有多个分片,每个分片都是一个Lucene索引。

  备份:拷贝一份备份就完成了分片的备份。

注意:每创建一个索引默认会创建5个分片和一个备份,当主分片出问题时,备份可以代替工作;备份的分片还可以执行搜索操作。

二.es单机搭建

如果要使用springboot操作es,最好下载es版本时按照以下表格来下载。

安装包下载好后解压,然后执行bin/elasticsearch即可,最后访问http://localhost:9200/判断是否安装成功。

如果想更方便的操作es可以下载一个elasticsearch-head,安装好访问界面大致如下图,本文暂不介绍es-head。

三.springboot操作es

1.使用curl -X PUT "localhost:9200/teststudent12"创建索引,参数如下:

{
    "order":0,
    "template":"ll*",
    "settings":{
        "index":{
            "number_of_shards":"4",
            "number_of_replicas":"1"
        }
    },
    "mappings":{
        "StudentTestVo":{
            "dynamic_templates":[
                {
                    "string_fields":{
                        "mapping":{
                            "analyzer":"only_words_analyzer",
                            "index":"analyzed",
                            "type":"keyword",
                            "fields":{
                                "raw":{
                                    "ignore_above":512,
                                    "index":"not_analyzed",
                                    "type":"string"
                                }
                            }
                        },
                        "match_mapping_type":"string",
                        "match":"*"
                    }
                }
            ],
            "properties":{
                "name":{
                    "type":"text"
                },
                "grade":{
                    "type":"text"
                },
                "age":{
                    "type":"short"
                },
                "date":{
                    "type":"date"
                }
            }
        }
    },
    "aliases":{

}
}

2.创建索引成功后,编写代码操作es,代码可以加公众号 码农独白 下载。

Springboot操作Elasticsearch的更多相关文章

  1. springboot整合es客户端操作elasticsearch(五)

    springboot整合es客户端操作elasticsearch的总结: 客户端可以进行可以对所有文档进行查询,就是不加任何条件: SearchRequest searchRequest = new ...

  2. SpringBoot整合ElasticSearch实现多版本的兼容

    前言 在上一篇学习SpringBoot中,整合了Mybatis.Druid和PageHelper并实现了多数据源的操作.本篇主要是介绍和使用目前最火的搜索引擎ElastiSearch,并和Spring ...

  3. springboot集成elasticsearch

    在基础阶段学习ES一般是首先是 安装ES后借助 Kibana 来进行CURD 了解ES的使用: 在进阶阶段可以需要学习ES的底层原理,如何通过Version来实现乐观锁保证ES不出问题等核心原理: 第 ...

  4. ElasticSearch(八):springboot集成ElasticSearch集群并使用

    1. 集群的搭建 见:ElasticSearch(七) 2. springboot配置集群 2.1 创建springboot项目,使用idea创建,不过多介绍(创建项目时候建议不要勾选elastics ...

  5. SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)

    准备工作 环境准备 JAVA版本 java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121 ...

  6. Springboot整合ElasticSearch进行简单的测试及用Kibana进行查看

    一.前言 搜索引擎还是在电商项目.百度.还有技术博客中广泛应用,使用最多的还是ElasticSearch,Solr在大数据量下检索性能不如ElasticSearch.今天和大家一起搭建一下,小编是看完 ...

  7. 使用curl命令操作elasticsearch

    使用curl命令操作elasticsearch 大岩不灿 发表于 2015年4月25日 浏览 7,426 次 第一:_cat系列_cat系列提供了一系列查询elasticsearch集群状态的接口.你 ...

  8. ElasticSearch(2)---SpringBoot整合ElasticSearch

    SpringBoot整合ElasticSearch 一.基于spring-boot-starter-data-elasticsearch整合 开发环境:springboot版本:2.0.1,elast ...

  9. springboot操作mongodb

    springboot操作mongodb 采用MongoRepository操作mongodb springboot版本2.1.2.RELEASE 注意的是:在运行应用程序时,会报错OSS Algori ...

随机推荐

  1. 百万年薪python之路 -- 面向对象初始

    面向对象初始 1.1 面向过程编程vs函数式编程 函数编程较之面向过程编程最明显的两个特点: 1,减少代码的重用性. 2,增强代码的可读性. 1.2 函数式编程vs面向对象编程 面向对象编程:是一类相 ...

  2. 网络攻防实验任务三_(2)X-Scan通用漏洞扫描实验

    首先在宿主机中打开xscan_gui.exe,结果系统直接将它删掉了. 大概是因为开了防火墙的缘故. 于是我在win7虚拟机中运行这个程序. 并且关闭防火墙,在win7中可以运行 我再试了一下win1 ...

  3. Sublime Text 3 安装 Package Control 结果返回 275309,找不到 Install Package

    打开 Preferences->Settings , 查看 ignored-packages 数组中是否有 Package Control,如果有,删除即可.

  4. Nginx 热部署和日志切割,你学会了吗?

    上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署.切割日志文件场 ...

  5. 两行代码玩转SUMO!

    两行代码玩转SUMO! 这篇博客很简单,但是内容很丰富 如何生成如下所示的研究型路网结构? 只需要打开ubuntu终端输入如下代码即可,grid.number代表路口数量,grid.length代表路 ...

  6. BOOL,int,float,指针变量 与“零值”比较的if语句

    分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量: if(var==0) float型变量: ...

  7. [Java] 生成二维码源码,可以在二维码中间加logo,底部可以加文字介绍

    链接:https://pan.baidu.com/s/1bc1h-ix-No-2o9Ysd4_B3Q提取码:0ad4

  8. 树上神奇 逆 逆序对(我的叫法)hh的小纸条 重中之重!!!!!

    HH是一位十分爱好数学的大佬,尤其喜爱数数,一天百无聊赖的他写下了一个1-N的排列,并且在小纸条上记下了每个数前面有多少个数比他小,但HH不小心忘记了这个排列.现在只有当时记下的小纸条,现在请你还原出 ...

  9. 二叉查找树学习笔记(BST)

    我土了....终于开始看平衡树了,以前因为害怕一直不敢看数据结构...浑浑噩噩跟同学落了1—2个数据结构没看....果然,我是最弱的 二叉查找树,遵守每个点的左儿子小于点小于右儿子. 于是,BST能够 ...

  10. css3 svg路径蒙版动画

    css3 svg路径蒙版动画 具体看https://www.cnblogs.com/oubenruing/p/9568954.html 还有个更好控制的写法<pre><!DOCTYP ...