快速熟悉ElasticSearch的基本概念

1.全文检索

全文检索是通过文本内容进行全面搜索的技术。通过全文检索可以快速地在大量文本数据中查找包含特定关键词或者短语的文档,并且返回相关的搜索结果。

检索和查询的区别

  • 检索没有搜索条件边界,检索的结果取决于相关性,相关性计算无明确边界性条件,比如同义词、谐音、别名等等都可以作为相关性的判断依据。
  • 查询有搜索条件边界,举个例子:现在有张 t 表,我要查询 t 表中的所有字段且查询条件是 id = 1,age = 18
    ,那么我写出来的sql语句就是这样的
    select * from t1 where id = 1 and age = 18;
    这个时候age = 18,id = 1都是搜索的条件边界。

总结:检索和查询的区别就在于有没有搜索条件边界。

2.倒排索引

在讲倒排索引之前先讲一下什么是正排索引。

正排索引是将文档按照顺序排列并且进行编号的索引结构,在正排索引中可以根据编号快速的寻找到对应的文档资料。

倒排索引以单词或者短语建立的索引结构。

倒排索引的建立**是先对文档进行分词处理,然后记录每个单词在哪些文档中出现,以及出现的位置信息。**通过倒排索引,可以根据关键词或者短语快速的找到包含这些词语的文档。

3.ElasticSearch的介绍

ElasticSearch是开源的分布式搜索和数据分析引擎,它专门用于处理大规模的文本数据和实现高性能的全文检索,如果有要实现搜索的场景,那么ElasticSearch是一个很好的选择。

核心概念

索引

索引可以类比为关系型数据库的 ,也就是database

类型

类型对应于索引来说是内部的逻辑分区,一个索引内部可以对应一个或者多个类型。可以类比为数据库中的

文档

文档实际上就是真正存储数据的东西,这里面存储了我们真正的内容,一般是json格式的数据。

每个文档都有一个类型和id,一个文档里面多个字段。

mapping

"mapping" 是用于定义索引中数据的结构和字段类型的过程。它类似于数据库中的表结构定义。可以理解为关系型数据库中表的结构定义

dart 复制代码
PUT /user1
{
	"mappings": {
		"dynamic": "true",
		"properties": {
			"name": {
				"type": "text"
			},
			"address": {
				"type": "object",
			}
		}
	}
}
PUT /user2
{
	"mappings": {
		"dynamic": "false",
		"properties": {
			"name": {
				"type": "text"
			},
			"address": {
				"type": "object",
			}
		}
	}
}
PUT /user3
{
	"mappings": {
		"dynamic": "strict",
		"properties": {
			"name": {
				"type": "text"
			},
			"address": {
				"type": "object",
			}
		}
	}
}

这里我设置了两个字段一个name,一个address,将他们的类型设置为text类型

如果我将某个文档的"dynamic"设置为strict或者false,那么就当有新字段的文档插入到这个索引里面来就会报错(类似于关系型数据库,如果往一个不存在的字段插入值那么肯定是会报错的),但是如果设置为true的话,Elasticsearch 将自动检测到新的字段,并为它们创建映射。

flied

flied也就是字段了,一个文档包含多个字段,每个字段都有自己的名称和类型。

dsl

实际上对应到关系型数据库就是sql

相关推荐
尘世壹俗人16 分钟前
分离Hadoop客户端单独使用
大数据·hadoop·分布式
厨 神42 分钟前
11月10日ES本机
大数据·elasticsearch·搜索引擎
微盛企微增长小知识1 小时前
企业微信AI怎么用?从智能表格落地看如何提升运营效率
大数据·人工智能·企业微信
私域实战笔记1 小时前
如何选择企业微信SCRM?2025年3个选型参考维度
大数据·人工智能·企业微信·scrm·企业微信scrm
ZKNOW甄知科技2 小时前
重构企业运维智慧:低代码 ITSM 知识管理平台的创新与实践
大数据·运维·人工智能·程序人生·低代码·重构·it
AllData公司负责人3 小时前
云原生数据平台(cloudeon)--核心服务组件扩展
大数据·云原生·架构·开源
武子康4 小时前
大数据-153 Apache Druid 实时接入 Kafka:从摄取到查询的完整实战
大数据·后端·nosql
快乐非自愿4 小时前
数智化时代:AI技术重构企业财务管理系统的底层逻辑与实践
大数据·人工智能·低代码
zskj_zhyl4 小时前
解构智慧养老:当科技成为银发族的“隐形守护者”
大数据·人工智能·科技·物联网
芝麻开门-新起点4 小时前
利用ArcPy批量检查管线隐患点与周边设施距离的实现方案
大数据