1. [索引 - 相关字段]
    2. # 获取索引结构信息
    3. : GET /索引名
    4. : _index 索引名
    5. : aliases 别名
    6. : mappings 索引结构, 数据结构
    7. => properties 属性描述字段
    8. -> "字段名": type 字段类型, fields -> keyword [关键字, type=keyword, ignore_above=256 字符串长度超出忽略]
    9. : settings 索引配置
    10. => index 索引描述字段
    11. -> creation_date="1581053367692"
    12. -> number_of_shards="1" // 主分片数, 创建后不能修改
    13. -> number_of_replicas="1" // 主分片的副本数
    14. -> uuid="xquMd1SBSFG6aTQQdttehg"
    15. -> provided_name="索引名"
    16. -> "version": {"created": "7020099"},
    17. // type 字段类型
    18. // store 是否存储,属性有yes或者no, 论那种属性都会被存储,但如果设置成no,在查询的时候是无法用此属性作为查询项的,基于拓展和业务方便维护,建议使用yes
    19. // index 是否索引,属性有not_analyzed(分词不分析)、analyzed(分词分析)、no(不分析不分词)
    20. // analyzer 分词器, 入库时使用
    21. // search_analyzer 分词器, 查询的时候使用哪种分词器
    22. // ignore_above 对超过 ignore_above 的字符串,analyzer 不会进行处理, 不会索引
    23. // 这个选项主要对 not_analyzed 字段有用,这些字段通常用来进行过滤、聚合和排序。而且这些字段都是结构化的,所以一般不会允许在这些字段中索引过长的项。
    24. // format 日期格式要求,例如设置为"yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
    25. // dynamic 是否使用动态映射, true默认值, 动态添加字段, false忽略新字段, strict如果碰到陌生字段,抛出异常
    26. # 创建索引
    27. : PUT /索引名 索引结构描述
    28. // acknowledged= true/fasle
    29. // shards_acknowledged = true/fasle
    30. // index=索引名
    31. # 删除索引
    32. : DELETE /索引名
    33. // 每个文档都有type,每种type都会有自己的mapping
    34. // mapping定义了type的field,每个field的数据类型,以及es如何处理这些field
    35. [索引]
    36. # 关闭索引
    37. : POST /index/_close
    38. # 打开索引
    39. : POST /index/_open

    字段类型

    Elasticsearch - 字段类型 & 类型 - 图1

    1. [string]
    2. : 字符串类型
    3. // string类型在ElasticSearch 旧版本中使用较多,从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代。
    4. [text]
    5. : 当一个字段是要被全文搜索的,比如Email内容、产品描述,应该使用text类型。
    6. // 设置text类型以后,字段内容会被分析,在生成倒排索引以前,字符串会被分析器分成一个一个词项
    7. // text类型的字段不用于排序,很少用于聚合。
    8. [keyword]
    9. : keyword类型适用于索引结构化的字段,比如email地址、主机名、状态码和标签
    10. // 如果字段需要进行过滤(比如查找已发布博客中status属性为published的文章)、排序、聚合。keyword类型的字段只能通过精确值搜索到。
    11. [整数类型]
    12. : byte short integer long
    13. [浮点类型]
    14. : doule float half_float scaled_float
    15. [date]
    16. : 日期类型表示格式
    17. // 日期格式的字符串,比如 “2018-01-13” 或 “2018-01-13 12:10:30”
    18. // long类型的毫秒数( milliseconds-since-the-epoch,epoch就是指UNIX诞生的UTC时间1970年1月1日0时0分0秒)
    19. // integer的秒数(seconds-since-the-epoch)
    20. [boolean]
    21. [binary]
    22. [array]
    23. [object]
    24. [IP]