zoukankan      html  css  js  c++  java
  • 初识ElasticSearch

    基本概念

    Index(索引)

    • 含有相同属性的文档集合
    • 类似于mysql数据库中的database

    Type(类型)

    • 索引可以定义一个或多个类型,文档必须属于一个类型;
    • 类似于mysql数据库中的table表,es中可以在index中建立type(table),通过mapping进行映射

    Document(文档)

    • 文档是可以被索引的基本数据单位
    • 一条数据对应一篇文档即相当于mysql数据库中的一行数据row

    分片

    • 每个索引都有多个分片,每个分片是一个Lucenc索引

    备份

    • 拷贝一个份分片就完成了分片的备份

    Mapping

    • 可以理解为mysql或者solr中对应的schema,es中的mapping增加了动态识别的功能
      # 查看mapping
      GET /lib1/user/_mapping
      # 执行结果
      {
        "lib1": {
          "mappings": {
            "user": {
              "properties": {
                "adress": {
                  "type": "text"
                },
                "age": {
                  "type": "integer"
                },
                "birthday": {
                  "type": "date"
                },
                "interests": {
                  "type": "text"
                },
                "name": {
                  "type": "text"
                },
                "script": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                }
              }
            }
          }
        }
    • 什么是映射:mapping定义了type中的每一个字段的数据类型以及这些字段如何分词此等相关属性
      -- 自定义mapping,创建索引的时候,可以预定义字段的类型以及相关属性,这样就能够把日期字段处理成日期,
      -- 把数字字段处理成数字,把字符串字段处理成字符串值等 PUT
      /lib1 { "settings": { "number_of_shards": 5 , "number_of_replicas": 0 }, "mappings": { "user":{ "properties": { "name":{"type":"text"}, "adress":{"type":"text"}, "age":{"type":"integer"}, "interests":{"type":"text"}, "birthday":{"type":"date"} } } } }
    • 支持的数据类型:核心数据类型
      • 字符型
        • text:该类型被用来索引长文本,在建立索引前会将这些文本进行分词,转化为词的组合,建立索引。允许es来检查这些词语,text类型不能用来排序和聚合
        • keyword:该类型不需要进行分词,可以被用来检索过滤、排序和聚合。keyword类型只能用本身来进行检索 
      • 数字类型
        • long
        • integer
        • short
        • byte
        • double
        • float
      • 日期类型
        • date
      • 布尔类型
        • boolean
      • 二进制类型
        • binary
    • Indexed
      • 就是名义上的建立索引,es中默认都是会加上索引的
    • Query DSL
      • 类似于mysql的sql语句,只不过在es中是使用的json格式的查询语句
  • 相关阅读:
    POJ 1811 Prime Test 素性测试 分解素因子
    sysbench的安装与使用
    电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案
    I.MX6 show battery states in commandLine
    RPi 2B Raspbian system install
    I.MX6 bq27441 driver porting
    I.MX6 隐藏电池图标
    I.MX6 Power off register hacking
    I.MX6 Goodix GT9xx touchscreen driver porting
    busybox filesystem httpd php-5.5.31 sqlite3 webserver
  • 原文地址:https://www.cnblogs.com/zxbdboke/p/10465720.html
Copyright © 2011-2022 走看看