首页 > 其他分享 >初识elasticsearch

初识elasticsearch

时间:2025-01-02 11:11:49浏览次数:1  
标签:倒排 查询 索引 初识 elasticsearch 文档 数据

什么是elasticsearch

  • 一款非常强大的开源搜索引擎
  • elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。
  • 采用倒排索引

正向索引:正排索引按照文档的顺序存储索引,索引的键是文档的标识符(如ID),值是文档的详细信息,如标题、内容摘要、发布日期等。这种结构使得正排索引适合于通过已知文档标识符快速访问文档内容。‌

比如:查询ID为1的数据(select * from xxx where id=1)可快速查询到数据

这是这对索引的查询,查询速度是很好的,如果需要根据title(非索引)来查询数据,那么就需要逐条匹配,可想而知在数据量过大的情况下,查询速度就会很慢

比如:现在我需要查询title包含手机的数据(select * from xxx where title like '%手机%'),会逐条检索,查找符合包含手机的数据,存入结果集 

 

在数据庞大的情况下,其效率就会很慢。

如何解决此类问题呢,最简单的方法就是为Title也创建索引,但是针对模糊查询来说,其索引是无效的。

倒排索引索引就可以解决此类问题

什么是倒排索引?

倒排索引:倒排索引根据关键词来存储索引,每个独特的词汇或关键词都会被记录在一个索引条目中,条目包含一个或多个指向包含该词汇的文档的指针或引用。倒排索引适合于通过关键词快速找到相关文档。

倒排索引的概念来看,

  • 倒排索引是将一段话分成多个词语,
  • 每个词语都对应这其数据库中索引,
  • 每个词语都是唯一
  • 将词语做成索引

 如下图:

这种情况,获取华为手机的数据,通过分词获取华为和手机两个词条,根据词条去词条列表中获取文档Id,根据文档Id就能获取到对应的数据了。

总结:倒排索引为了解决正向索引中非索引字段的模糊查询

标签:倒排,查询,索引,初识,elasticsearch,文档,数据
From: https://www.cnblogs.com/WarBlog/p/18586574

相关文章

  • Spark Streaming + Elasticsearch构建App异常监控平台10
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......
  • Spark Streaming + Elasticsearch构建App异常监控平台5
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......
  • Elasticsearch构建全文搜索系统
    Elasticsearch构建全文搜索系统|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|---------......
  • ElasticSearch7基础分页以及Scroll分页
    ElasticSearch7基础分页以及Scroll分页|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|-------------|--......
  • Elasticsearch:如何在搜索时得到精确的总 hits 数
    Elasticsearch:如何在搜索时得到精确的总hits数|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|-------------|--------......
  • Elasticsearch Unable to parse response body HTTP-1
    ElasticsearchUnabletoparseresponsebodyHTTP-1.1413RequestEntityTooLarge问题解决|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermissio......
  • elasticSearch Alternatively use a keyword field instead
    elasticSearchAlternativelyuseakeywordfieldinstead.|Id|Title|DateAdded|SourceUrl|PostType|Body|BlogId|Description|DateUpdated|IsMarkdown|EntryName|CreatedTime|IsActive|AutoDesc|AccessPermission||-------------|--------......
  • 初识Spring -2024/12/30
    Spring优点SpringFrameworkCoreContainer:核心容器AOP:面向切面编程Aspects:AOP思想实现DataAccess:数据访问DataIntegration:数据集成IoC,IoC容器,Bean,DI导入依赖<dependency><groupId>org.springframework</groupId><artifact......
  • 深入理解ElasticSearch与BM25: 实践与应用
    老铁们,今天我们来聊聊一个在搜索引擎领域备受关注的技术点——ElasticSearch中的BM25。说白了,这就是一个基于概率检索框架的文档排序算法,最初由StephenE.Robertson和KarenSpärckJones等高手在20世纪的70至80年代提出。BM25如今已成为许多搜索引擎的核心技术。技术背景......
  • 【详解】ElasticSearchQuery查询方式
    目录ElasticsearchQuery查询方式1.MatchQuery(匹配查询)2.TermQuery(精确查询)3.RangeQuery(范围查询)4.BoolQuery(布尔查询)5.其他查询方式结论ElasticsearchQuery查询方式Elasticsearch(ES)是一个基于Lucene的高性能、分布式、开源搜索引擎,提供了多种灵活的查询......