做淘宝联盟必须要有网站吗,企业网站管理系统视频教程,wordpress女性模板,网站开发费用算无形资产么初识Elasticsearch 一、Elasticsearch是什么#xff1f;
es是款强大的开源搜索技术#xff0c;具备非常多强大的功能#xff0c;能够帮助我们开发人员从海量数据中快速找到需要的内容。例如在GitHub上搜索代码#xff0c;在jd、tb网站中搜索商品、在baidu中搜索答案。 二、…初识Elasticsearch 一、Elasticsearch是什么
es是款强大的开源搜索技术具备非常多强大的功能能够帮助我们开发人员从海量数据中快速找到需要的内容。例如在GitHub上搜索代码在jd、tb网站中搜索商品、在baidu中搜索答案。 二、Elasticsearch组成及作用
es结合kibana、Logstash、Beats数据收集也就是elastic stackELK。作用被广泛的应用在实现搜索、日志统计、分析、系统监控等功能。
es中倒排索引的概念
文档Document用来搜索的数据其中的每一条数据就是一个文档。例如一个网页、一个商品信息等词条Term对文档数据或用户搜索数据利用某种算法分词得到的具备含义的词语就是词条。例如我是中国人就可以分为我、是、中国人、中国、国人这样的几个词条。
举个栗子 倒排索引的搜索流程如下就以搜索华为手机为例
用户输入条件华为手机进行搜索。对用户输入内容分词得到词条华为、手机。拿着词条在倒排索引中查找可以得到包含词条的文档id1、2、3。拿着文档id到正向索引中查找具体文档。
如图示 倒排索引的优缺点
优点 根据词条搜索、模糊搜索时速度非常快 缺点 只能给词条创建索引而不是字段无法根据字段做排序
mysql与elasticsearch
MySQLElasticsearch说明TableIndex索引(index)就是文档的集合类似数据库的表(table)RowDocument文档Document就是一条条的数据类似数据库中的行Row文档都是JSON格式ColumnField字段Field就是JSON文档中的字段类似数据库中的列ColumnSchemaMappingMapping映射是索引中文档的约束例如字段类型约束。类似数据库的表结构SchemaSQLDSLDSL是elasticsearch提供的JSON风格的请求语句用来操作elasticsearch实现CRUDdatabaseIndex
对比总结
Mysql擅长事务类型操作可以确保数据的安全和一致性Elasticsearch擅长海量数据的搜索、分析、计算对安全性要求较高的写操作使用mysql实现对查询性能要求较高的搜索需求使用elasticsearch实现两者再基于某种方式实现数据的同步保证一致性