浅谈elasticsearch

elasticsearch是一款非常强大的开源搜索引擎 ,elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域 。

mysql与elasticsearch

浅谈elasticsearch_第1张图片

  • Mysql:擅长事务类型操作,可以确保数据的安全和一致性

  • Elasticsearch:擅长海量数据的搜索、分析、计算

  • 对安全性要求较高的写操作,使用mysql实现

  • 对查询性能要求较高的搜索需求,使用elasticsearch实现

  • 两者再基于某种方式,实现数据的同步,保证一致性

mapping映射属性

  • type:字段数据类型,常见的简单类型有:

    • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)

    • 数值:long、integer、short、byte、double、float、

    • 布尔:boolean

    • 日期:date

    • 对象:object

  • index:是否创建索引,默认为true

  • analyzer:使用哪种分词器

  • properties:该字段的子字段

{
    "age": 18,
    "weight": 19.3,
    "isMarried": false,
    "info": "我是一个好学生",
    "email": "126lll.@",
    "score": [500, 1999, 95.],
    "name": {
        "firstName": "张",
        "lastName": "三"
    }
}

索引库的CRUD

基本语法:

  • 请求方式:PUT

  • 请求路径:/索引库名,可以自定义

  • 请求参数:mapping映射

查询索引库

基本语法

  • 请求方式:GET

  • 请求路径:/索引库名

  • 请求参数:无

GET /索引库名

修改索引库

索引库一旦创建,无法修改mapping

PUT /索引库名/_mapping
{
  "properties": {
    "新字段名":{
      "type": "integer"
    }
  }
}

删除索引库

语法:

  • 请求方式:DELETE

  • 请求路径:/索引库名

  • 请求参数:无

DELETE /索引库名

你可能感兴趣的:(elasticsearch,大数据)