什么是ElasticSearch:

ElasticSearch(简称ES)是一个开源的分布式搜索和数据分析引擎,是用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,它专门设计用于处理大规模的文本数据和实现高性能的全文检索。

官方网站:

https://www.elastic.co/

排名参考网址:

https://db-engines.com/en/ranking/search+engine

Elasticsearch 的优势:

分布式架构:Elasticsearch 采用分布式架构,可以轻松处理大规模数据,并支持水平扩展,提高系统的可扩展性和容错性。

全文检索功能:Elasticsearch 提供了强大的全文检索功能,可以对文本数据进行高效的搜索和分析,支持复杂的查询语法和自定义分析器。

多语言支持:Elasticsearch 支持多种语言的数据处理和检索,可以满足不同语言环境下的搜索需求。

高性能:Elasticsearch 采用了倒排索引等优化技术,能够实现高效的搜索和数据处理性能,满足大规模数据的实时查询需求。

实时性:Elasticsearch 提供近乎实时的搜索和分析功能,确保用户能够及时获取最新的数据和信息。

易用性:Elasticsearch 提供了丰富的API 和插件,使得开发者可以轻松集成和使用,同时其查询语法简洁明了,易于上手。

ElasticSearch 应用场景:

只要用到搜索的场景Elasticsearch几乎都可以是最好的选择。结合KibanaLogstashBeatsElaticSearch可以用于全文检索、日志分析、商业智能场景。

ElasticSearch的倒排索引:

什么是倒排索引

在一个文档集合中,每个文档都可视为一个词语的集合,倒排索引则是将词语映射到包含这个词语的文档的数据结构。

正排索引(正向索引)

MySQL 中通过ID 查找就是一种正排索引的应用。

倒排索引(反向索引)

倒排索引是根据单词或短语建立的索引结构。它将每个单词映射到包含该单词的文档列表中。倒排索引的建立过程是先对文档进行分词处理,然后记录每个单词在哪些文档中出现,以及出现的位置信息。通过倒排索引,可以根据关键词或短语快速找到包含这些词语的文档,并确定它们的相关性。排索引适用于在大规模文本数据中进行关键词搜索和相关性排序的场景,它能够快速定位文档,提高搜索效率。

常用字段类型包括:

text, keyword, integer, float, date 等。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐