初识es(elasticsearch)

初识elasticsearch

什么是elasticsearch?

一个开源的分部署搜索引擎、可以用来实现搜索、日志统计、分析、系统监控等功能。
什么是文档和词条?

  • 每一条数据就是一个文档
  • 对文档中的内容进行分词,得到的词语就是词条

什么是正向索引?

  • 基于文档id创建索引。查询词条时必须先找到文档,而后判断是否含词条

什么是倒排索引?

  • 对文档内容分词,对词条创建索引,并记录词条所在的文档信息。查询时现根据词条查询文档id,而后获取文档。

ES的安装

链接:ES的安装和配置

ES与MySQL的对比

mapping

mapping即映射是索引中文档的约束,类似于数据库的表结构。

常见的属性

  • type:数据类型
  • index:是否创建索引(即倒排索引)
  • analyzer:分词器
  • properties:子字段

常见的type类型

  • **字符串:text:可以被分词的、keyword:不能被分词的,比如品牌名、ip、邮箱等等
  • 数字:long、integer、short、byte、double、float
  • 布尔:boolean
  • 日期:date
  • 对象:object

索引库的操作

索引是文档的集合,相当于数据库的表。

  • 创建索引库:PUT /索引库名

  • 查询索引库:GET /索引库名

  • 删除索引库:DELETE /索引库名

  • 添加字段:PUT /索引库名/_mapping,只能添加字段,如果修改字段会报错。

文档操作

文档就是数据,相当于数据库的行。

  • 创建文档:POST /索引库名/_doc/文档id

  • 查询文档:GET /索引库名/_doc/文档id

  • 删除文档:DELETE /索引库名/_doc/文档id

  • 全量修改:PUT /索引库名/_doc/文档id,会先如果该文档存在那么会删除旧的文档,然后新增,否则旧直接新增。

  • 增量修改:POST //索引库名/_doc/文档id {"doc":{字段}}

相关推荐
秋秋秋秋秋雨5 小时前
linux安装单节点Elasticsearch(es),安装可视化工具kibana
linux·elasticsearch·jenkins
jack xu16 小时前
高频面试题:如何保证数据库和es数据一致性
java·大数据·数据库·mysql·elasticsearch
Debug_TheWorld9 小时前
Elasticsearch学习
elasticsearch
island13149 小时前
【git#4】分支管理 -- 知识补充
大数据·git·elasticsearch
二爷记16 小时前
QXQ3真i9级CPU是捡漏还是踩坑!i9-12900 ES版CPU值得入手吗?
大数据·elasticsearch·搜索引擎·全文检索
Hello.Reader17 小时前
在 Ubuntu 环境为 Elasticsearch 引入 `icu_tokenizer
ubuntu·elasticsearch·jenkins
jack_xu1 天前
高频面试题:如何保证数据库和es数据一致性
后端·mysql·elasticsearch
技术项目引流1 天前
elasticsearch查询中的特殊字符影响分析
大数据·elasticsearch·搜索引擎
yangmf20401 天前
使用 Logstash 迁移 MongoDB 数据到 Easysearch
java·elasticsearch·搜索引擎
南客先生1 天前
海量聊天消息处理:ShardingJDBC分库分表、ClickHouse冷热数据分离、ES复合查询方案、Flink实时计算与SpringCloud集成
java·clickhouse·elasticsearch·flink·springcloud·shardingjdbc