ElasticSearch的个人笔记,适合的知识点,内容不多,学这么多都是生活所迫~~~

ElasticSearch是一个分布式搜索和数据分析引擎,常用于日志分析和搜索系统。它与MySQL的区别在于字段、文档和索引的概念。在ES中,数据操作包括插入、查询和删除,文档不可直接修改,只能覆盖。ES的评分机制基于文档与查询的相关度。分词器如Standard和IK用于文本处理,text和keyword类型分别用于全文搜索和过滤、聚合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES 全称为:ElasticSearch,是一个分布式,高性能、高可用、可伸缩、RESTful 风格的搜索和数据分析引擎。
     可以用来做日志分析系统,或者是搜索方面的系统功能;

      ES与MySQL的区别吧(其实概念上挺像的,但是也仅仅只限于概念吧!!!只是个人理解吧)

         ES                                                MySQL
        字段                                              列
        文档                                              一行数据
        类型(已被遗弃)                           表
        索引                                              数据库

     使用之前需要先掌握RESTful 的四个关键词:PUT(修改),POST(添加),DELETE(删除),GET(查询),
     但是在ES里面PUT和POST的界限并不是很分明,有时候PUT也作为添加。

      get查询返回的内容解释:
                   took:耗费了几毫秒

                   timed_out:是否超时

                   _shards:数据拆成5个分片,对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以),所以total和successful会是5;

                   hits:查询的所有结果

                   hits里面的 total:查询结果的数量(多少个 document)

                   max_score:score的含义就是document对于一个search的相关度的匹配分数,越相关、就越匹配,分数也越高;

                   hits.hits(hits里面包含了hits):包含了匹配搜索的document的详细数据-----里面的hits包含的是和每个文档相关的数据,外面的hits有的数据是统计数据,如total等--------一般都有两个hits嵌套;

                   _index:该文档所属的index

                   _type:该文档所属的type
 
                   _id:该文档的id

                   _source:具体的内容,即存储的json串

 数据CRUD


     插入数据:可以指定Id,也可以不指定;
     修改数据:ES里的文档是不可以修改的,但可以被覆盖,所以ES的修改也叫做文档的覆盖,                           对数据的修改又分为全局更新和局部更新。


 ES分词:首先是默认的分词器Standard,如果是查一些英文的词汇的时候·,其实也挺够用的,                       但是如果我们是用来查中文词汇的话就可以发现中文就很奈斯的了,,,
                  分得很不尽人意了。

                  ik_smart:会将文本做最粗粒度的拆分 , 
                  ik_max_word :会将文本做最细粒度的拆分

                  
                  拆分是拆分完了,但有时拆分过后的结果也和我们所想象当中的词语有所差别吧,而发生这种情况的话,就需要我们自己手动去定义IK词库中的词语了。

     ES评分机制:按照文档与查询的相关度(匹配度)的得分倒序返回结果的. 得分 (_score) 就越大, 表示相关性越高.

                  词频:就是词在文档中出现的频度是多少?频度越高,权重越高。
                  

text和keyword类型的区别:
                   
                   text:默认进行分词,text类型的数据被用来索引长文本,例如电子邮件主体部分或者一款产品的介绍,这些文本会被分析,在建立索引文档之前会被分词器进行分词,转化为词组。经过分词机制之后es允许检索到该文本切分而成的词语,但是text类型的数据不能用来过滤、排序和聚合等操作。
                   keyword:默认不分词的文本数据类型,可以满足电子邮箱地址、主机名、状态码、邮政编码和标签等数据的要求,不进行分词,常常被用来过滤、排序和聚合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值