Elasticsearch 学习笔记

Elasticsearch 可以用于快速地储存、搜索和分析海量数据。这里会将其简称为 ES。大部分DSL在 Kibana Dev Tools 中执行。

👉文章列表
Elasticsearch 7 学习笔记 ⏬ 快速上手 Index、Type、Document 安装与启动 Kibana 的使用 下载历史版本 文档唯一性 默认端口与端口设置 创建和删除索引 自定义 mapping 和 settings 设置索引副本数量和分片数量 查看所有索引 数据类型 字符串类型 keyword 、text 数组 添加和更新文档 通过 _bulk 批量添加文档 使用 from 、size 进行分页查询 查询中使用 sort 进行排序 查询结果只展示部分字段 查询结果中展示 _version 字段 使用 ignore_above 限制字符串长度 动态映射 精确搜索/全文搜索示例
客户端 ⏬ Python 客户端 Java TransportClient API 客户端 Java REST Client API 客户端
其他 ⏬ ES 6 快速上手 ES 5 快速上手

Elasticsearch 7 : 字符串类型 keyword 、text


在 ElasticSearch 5.0 之前,字符串类型是 string。从 5.0 版本开始,string 类型被废弃,引入了 keyword 、text 两种类型。

两者的主要区别是:

  • keyword 不支持全文搜索。所以,只能是使用精确匹配进行查询,比如 term 查询。
  • text 默认支持全文搜索。

长度区别:

  • keyword 的最长长度是 32766 字节。(原因应该是底层lucene做倒排索引时,限制了单词的长度。UTF-8中,英文字母是1个字节,中文一般是3个字节,表情符号是4个字节)
  • text 无长度限制。(但被分析器处理后的单词不应该超过 32766 个字节。-> 这是我推论出来的,待验证)。

参考:


( 本文完 )

文章目录