ElasticSearch

68 阅读1分钟

概述

  • 是基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展数据存储和矢量数据库。它针对生产规模工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据
  • 官网

倒排索引

  • 先把文档内容进行分词,形成词条与文档ID相对应的关系的词条库,对词条进行创建索引,因词条具备唯一性
  • 对搜索内容进行分词,分词后得到一个关键词列表,根据关键词去词条库中匹配,找到相对应的文档ID列表
  • 最后根据文档ID列表,找到对应的文档信息

Elasticsearch与MySQL的概念对比

MySQLElasticsearchES描述
TableIndex索引
RowDocument文档【json】
ColumnFiled字段【域】
SchemaMapping映射【结构】
SQLDSL语句
  • tabel MySQL中的数据表,用来存储和管理表格数据
  • row 用来记录数据
  • column 用来存储和管理数据值
  • Mapping ES中的数据结构定义,用于描述文档的结构和属性