Elasticsearch(ES) 基本知识

ES 学习笔记

Linux 安装ES及Kibana(7.17.4版本)
ES基本使用
ES是一个基于Apache的开源索引库Lucene而构建的 开源、分布式、具有RESTful接口的全文搜索引擎, 还是一个分布式文档数据库.

基本概念

  • index
    索引是具有相似结构的文档的集合, 比如可以有一个商品分类索引, 订单索引.
    每个索引都要有唯一的名称, 名称要小写, 通过索引名称来执行索引、搜索、更新和删除等操作.
    一个集群中可以有任意多个索引, 只要保证名称不同即可
  • document
    文档是存储在ES中的一个个JSON格式的字符串, 是ES索引中的最小数据单元, 由field(字段)构成.
    ES是一个非结构化的数据库,每个文档可以有不同的字段,并且有一个唯一标识.
  • field
    字段可以是一个简单的值(如字符串、数字、日期), 也可以是一个数组, 还可以嵌套一个对象或多个对象.
    字段类似于关系数据库中表数据的列, 每个字段都对应一个类型.
    可以指定如何分析某一字段的值, 即对field指定分词器
  • type
    一个索引中,可以定义一个或者多个类型(7.x版本中被废弃,8.x版本中已移除)
  • text
    文本是field类型的一种, 通常会被分析成多个Term, 存储在ES的索引库中.
  • mapping
    类似于关系数据库中的Table结构, 每个index都有一个映射: 定义索引中每个字段的类型.
    所有文档在写进索引之前都会先进行分析, 如何对文本进行分词、哪些词条又会被过滤, 这类行为叫做映射(mapping).
    映射可以提前定义, 也可以在第一次存储文档时自动识别.
  • analysis
    将文本转换为索引词的过程, 分析的结果依赖于分词器
    在这里插入图片描述

基本原理

倒排索引
正排索引通过记录id查询内容记录;通过内容关键词获取记录id。
ES写入数据时,会把数据进行分词,把每一个分词的结果与文档进行关联,再把相同的词所关联的文档进行合并,建立倒排索引。
在这里插入图片描述
记录关键词位置可以对关键词进行飘红处理

相关技术

Luence 是Apache基于Java编写的信息搜索工具包(jar包),它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此Lucene的使用需要我们进一步开发搜索引擎系统, 如数据获取、解析、分词等

Solr 是一个有HTTP接口的基于Lucene的查询服务器,是一个搜索引擎系统,系统封装了很多lucene细节,Solr可以直接利用HTTP GET/POST 请求去查询,维护修改索引。Solr利用zookeeper进行分布式管理,它的实现更加全面,官方提供的功能更多。

Elasticsearch 是一个建立在全文搜索引擎Apache Lucene基础上的搜索引擎,采用的策略师分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。es的实时搜索性比solr更好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值