网站建设的四个步骤,wordpress微信授权访问,代理网页游戏需要多少钱,竞价推广方案怎么写初识elasticsearch
官方网站#xff1a;Elasticsearch#xff1a;官方分布式搜索和分析引擎 | Elastic
Elasticsearch是做什么的#xff1f;
Elasticsearch 是一个分布式搜索和分析引擎#xff0c;专门用于处理大规模数据的实时搜索、分析和存储。它基于 Apache Lucene …初识elasticsearch
官方网站Elasticsearch官方分布式搜索和分析引擎 | Elastic
Elasticsearch是做什么的
Elasticsearch 是一个分布式搜索和分析引擎专门用于处理大规模数据的实时搜索、分析和存储。它基于 Apache Lucene 构建能够快速、高效地执行全文搜索、结构化搜索以及数据分析任务。由于其强大的功能Elasticsearch 常用于以下几种场景
1. 全文搜索 Elasticsearch 提供快速、精确的全文搜索支持复杂查询如模糊匹配、短语搜索、词条权重广泛用于内容管理系统、电子商务、社交平台等。
2. 数据分析 通过聚合功能Elasticsearch 可高效进行实时数据分析支持多维聚合查询适用于日志分析、业务数据分析等场景。
3. 日志与监控 结合 Elastic StackLogstash、KibanaElasticsearch 实现实时日志采集、分析和可视化常用于系统监控、错误检测等。
4. 数据存储 作为分布式文档存储Elasticsearch 可水平扩展处理海量数据保证高可用性和故障冗余。
5.地理位置查询 支持地理空间查询适用于地图应用、物流、外卖等基于位置的服务场景。 核心特点
倒排索引Elasticsearch 使用倒排索引来快速查找文档中包含特定词语的条目特别适合全文搜索场景。
分布式架构它天生支持水平扩展允许在集群中分布和存储数据保证性能和高可用性。
实时性数据索引和搜索可以在毫秒级内完成非常适合需要实时响应的数据查询场景。
RESTful API通过简单的 RESTful API 进行操作便于与其他系统集成。
典型应用场景
搜索引擎用于内容搜索、产品搜索如电商网站、文档搜索等。日志分析通过 Elastic Stack包括 Logstash 和 Kibana构建日志管理和监控系统。推荐系统电商、流媒体、社交平台等使用 Elasticsearch 进行个性化推荐。实时数据分析企业实时分析海量数据用于业务决策。 倒排索引是什么和MySQL数据库有什么不同
倒排索引Inverted Index是一种数据结构广泛用于全文搜索引擎中。它的主要作用是将文档与其包含的单词进行关联从而实现快速的文本检索。
基本原理 文档与词汇表的映射倒排索引将每个单词或词项映射到包含该单词的文档列表中。相比于传统的正排索引即存储文档到词汇的映射倒排索引更加高效。 结构倒排索引通常包括两个主要部分词汇表和文档列表。
假设有三个文档 文档1我 爱 编程 文档2我 爱 学习 文档3编程 很有趣
构建倒排索引后的结构如下 倒排索引与 MySQL 数据库的不同 数据存储结构 倒排索引主要用于存储词项与文档之间的映射更加适合文本搜索。MySQL使用行或列存储数据通常是基于表的关系型数据库。 查询性能 倒排索引在处理全文搜索时可以快速查找包含特定词项的所有文档支持复杂的查询。MySQL虽然支持索引如B树索引但在处理复杂的文本搜索时性能不如倒排索引。 更新效率 倒排索引对于频繁更新的文档重建索引的开销较大。MySQL支持行级更新但对于大量数据的复杂查询性能可能下降。
倒排索引的搜索流程如下以搜索华为手机为例如图 流程描述
1.用户输入条件华为手机进行搜索。
2.对用户输入条件分词得到词条华为、手机。
3.拿着词条在倒排索引中查找由于词条有索引查询效率很高即可得到包含词条的文档id1、2、3。
4.拿着文档id到正向索引中查找具体文档即可由于id也有索引查询效率也很高。