目录
4.1 ElasticSearch与关系型数据库的数据结构对比
一、 ElasticSearch的定位
ElasticSearch是一款开源的分布式 搜索和数据分析引擎,它专门设计用于处理大规模的文本数据和实现高性能的全文检索,业内简称为es。es使用 倒排索引 和 缓存 等技术,在海量数据中能做到快速的搜索和高效的查询。它的设计目标为:一切为了查询。
二、 什么是倒排索引
倒排索引是指将文档记录按照分词与文档对应位置的映射关系进行存储,查询时也将查询条件按规则进行分词,用单个分词去查找文档,即根据文档内容查找文档Id,最后将结果按得分评估汇总返回。
倒排索引的使用分为以下几步:
- 将文档内容按照规则进行分词
- 建立分词与文档Id的映射关系
- 查询时将查询条件进行分词
- 利用分词与文档Id的映射关系,根据查询条件的分词去查找结果
- 根据查询结果中每个分词出现的频率进行排名、汇总,返回结果
三、 什么是全文检索
顾名思义,全文检索是根据查询条件在整个文档中进行搜索,例如百度、谷歌的搜索。在全文检索中,首先需要对文本数据进行处理,包括分词、去除停用词等。然后,对处理后的文本数据建立索引ÿ