Day20_Elasticsearch

1.Elasticsearch 可以帮助我们做什么?

  • 实现各种网站的关键词检索功能,比如电商网站的商品检索、维基百科的词条搜索、Github 的项目检索;
  • 本地生活类 APP 比如美团基于你的定位实现附近的一些美食或者娱乐项目的推荐;
  • 结合 Elasticsearch、Kibana、Beats 和 Logstash 这些 Elastic Stack 的组件实现一个功能完善的日志系统。

1.什么是ElasticSearch?

Elasticsearch是一个基于Lucene搜索引擎。具有良好的全文搜索功能

Lucene是apache的一个开放源代码的全文检索引擎工具包

1.为什么要使用Elasticsearch?

在百万级别的数据库中,使用模糊查询来查询某个字段,这就会导致导致商品查询是全表扫面,效率非常低下,
ElasticSearch使用了倒排索引,倒排索引以关键字为key,然后value中记录了这个关键字的位置信息,就可以实现快速查询。

1.Elasticsearch中的倒排索引是什么?

倒排索引以关键字为key,然后value中记录了这个关键字的位置信息,就可以实现快速查询。


倒排索引涉及到分词,面试官很可能问到你分词;而且倒排索引中极可能问到你词条、词典、倒排表

分词:我们要用分词器,比如常见的IK中文分词器,作为插件来使用,在里面我们还可以自定义词典(比如人名什么的,防止错误分词)

分词设置:我们可以设置类型为keyword或text来说明该词能不能进行分词(keyword类型的不能被分词,text类型的可以被分词)

词条:索引中最小存储和查询单元(英文中词条一般就是一个单词,中文中一般就是一个词组)

词典:是词条的集合。它的底层是B+树或Hash表

倒排表:以关键字为key,然后value中记录了这个关键字的位置信息,比如“zhangsan:101 109 106 108”是一个倒排项,倒排表自然就是倒排项的集合了

1.索引、类型、文档

以前是索引———类型————文档 类比于 数据库——数据表———数据
你可以觉得文档听起来不比类型的范围大吗,类型听起来不比索引的范围大吗?事实上,它就像“共和国”和“中华人民共和国”的范围一样,共和国肯定包括中华人民共和国,文档它就是一张精确的表,一个类型下面肯定有很多个文档,同样的一个索引下面有一堆类型。
从7.0版本以后不再有"类型"的说法了,文档就是直接存储在索引下面

这里是引用

1.映射是什么?

MySQL中一张表有哪些字段,这些字段是否为空、什么类型、长度是多少、默认值是多少;
对于ElasticSearch的索引也一样,它规定了哪些字段可以被查询,哪些字段可以进行分词操作啊,这些规则就是映射

举例

在这里插入图片描述
在这里插入图片描述

新加映射

基于上一步的age、email、name字段的映射,我们现在想要新加一个字段的映射时得这么做

PUT /my_index/_mapping
{
   
   
  "properties": {
   
   
    "employee-id": {
   
   
      "type": "keyword",
      "index": false #表示该字段只是一个冗余存储的字段,不能被拿去检索。
    }
  }
}

修改映射

不能更新映射:对于已经存在的字段映射,我们不能更新。更新必须创建新的索引,进行数据迁移。

1.ElasticSearch中的集群、节点是什么?

分布式:一个大业务分拆多个子业务,部署在不同的服务器上。一个节点垮了,那这
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BlackTurn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值