常见的日志系统是基于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,代码可以加公众号 码农独白 下载。

最新文章

  1. 【Python】pymongo使用
  2. 台大《机器学习基石》课程感受和总结---Part 1(转)
  3. {转}每次从vss获取文件都是只读
  4. java读properties的通用类,兼容linux和windows
  5. mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
  6. java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)
  7. Preferred Java way to ping a HTTP Url for availability
  8. linux配置yum源
  9. eclipse maven构建
  10. Scala学习笔记:重要语法特性
  11. JVM学习记录-垃圾收集器
  12. 为服务器设置SSL证书,配置Https协议
  13. multi函数
  14. Nginx proxy_protocol协议
  15. POJ 2352 树状数组
  16. PTA——猜数字游戏
  17. Typecho 二次开发文档链接
  18. Alpha冲刺报告(1/12)(麻瓜制造者)
  19. spring源码分析-core.io包里面的类
  20. 【websocket-sharp】使用

热门文章

  1. ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能
  2. Springboot 系列(十五)如何编写自己的 Springboot starter
  3. shell 脚本中的注释详解
  4. 你还在用BeanUtils进行对象属性拷贝?
  5. Excel的IYQ钓鱼
  6. git log 附加命令归纳
  7. 基于Rancher搭建Kubernetes
  8. NOIP模拟测试7
  9. 最新开源跳板机(堡垒机)系统 Jumpserver介绍
  10. jdbc 加载数据库驱动如何破坏双亲委托模式