ElasticSearch学习笔记
- 数据类型
- Mapping, 类似于数据库的表
- text: 需要分词的文本,并会创建倒排索引
- keyword: 不需要分词的关键字
- 数字: byte, short, integer, long, float, double, half_float(16位), scaled_float
- date, boolean, binary(不能被搜索)
- range, 这是ES的特色,integer_range, date_range, ip_range等, 应该是用于提高查询性能
- array, object, nested, geo-point, ip, token_count
- 检索类型
- term: 搜索词不分词
- match: 对搜索词做分词
- 倒排索引
- B+树不适合全文检索,因为一个文本字段往往比较长,B+树的存储空间会比较大
- 倒排索引的存储,通过构建有限状态机来完成,同时共享前缀和后缀,节省空间
- 压缩算法
- FOR: frame of reference, 对文档ID排序,存储差值,以达到压缩的效果
- RB: roaring bitmaps,