ES的基础知识(一)-2020-11-5

ES的基础知识(一)

ElasticSearch相关理论知识

概念

基于Lucene全文检索技术、使用Java语言编写的、天然的分布式搜索引擎(同类型产品:solr)

作用

大数据量、近实时搜索;可以跨语言、跨平台;

倒排索引

倒排索引:把文档内容,根据“规则”拆分成词条,根据词条查询唯一标识(ID)
倒排索引结构:词条为key,文档唯一标识(ID)为value,所形成的数据结构

索引库结构

关系对照:
    索引库index      类型type      文档document        域field
    数据库			  表			   行				 列
映射mappings:建立“表”结构

类型type(了解):

一个type就像一类表。如用户表、角色表等。在Elasticsearch7.X默认type为_doc
type发展史:
	- ES 5.x中一个index可以有多种type。(畅购虚拟机用的5.xxx的)
    - ES 6.x中一个index只能有一种type。
    - ES 7.x以后,将逐步移除type这个概念,现在的操作已经不再使用,默认_doc

Field取值类型

简单数据类型
    字符串
        text:会分词,不支持聚合
        keyword:不会分词,将全部内容作为一个词条,支持聚合
    数值
    布尔
        boolean
    二进制
        binary
    范围类型
        integer_range, float_range, long_range, double_range, date_range 
    日期
        date
复杂数据类型:
	对象{}
	数组[]

Restful风格

Restful就是一种接口设计规范
1)基于http协议
2)每个uri都代表一种资源请求
3)不同的请求方式具有不同的含义
4)请求参数尽量嵌套在uri内部,不使用“?、&”符号拼接
5)uri请求路径尽量使用名词

索引库操作

索引库操作流程

1)创建“索引库”

2)创建“映射(构建表结构)”

创建“映射”方式:
	1)动态映射:根据添加的数据,动态的创建映射(“表(类型)”结构)
		缺点:字段类型、及其他参数都不可控,都是使用的默认值
	2)静态映射:自定定义好映射,然后创建”表“结构
		优点:所有的字段类型、及其他参数都是自己定义的,完全可控
实际开发中推荐使用:静态映射

3)往索引库中添加“文档”数据

4)索引库维护、搜索

IK中文分词器

分词方式:
	ik_max_word:最多分词(细粒度),把一个文档分词后,会对词语再次分词
		例如:一丁不识华为
			第一步分词:一丁不识、华为
			第二步分词:一丁、一、丁、不识、华为	
	ik_smart:最少分词(粗粒度),把一个文档分词后,对词语不会再分
		例如:一丁不识华为
			最终分词:一丁不识、华为

ElasticSearch搜索

1)term  	精确匹配(不分词,完全匹配)
2)match 	分词匹配(先分词,再匹配)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值