Elasticsearch快速入门

本文介绍了ElasticSearch中的内置字段及其类型,并详细解释了如何通过Mapping映射来预定义字段类型及相关属性,包括存储、分析、权值设置等,帮助读者更有效地管理和查询数据。

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

ElasticSearch的内置字段以及类型

内置字段:_uid,_id,_type,_source,_all,_analyzer,_boost,_parent,_routing,_index,_size,_timestamp,_ttl

字段类型:string,integer,long,float,double,boolean,null,date,binary

ElasticSearch使用乐观锁进行版本控制

_version自增长,修改数据后,_version会自动加1,

为了保持_version与外部版本控制的数值一致,使用version_type=external,检查数据当前的version值是否小于请求中的version值。

Mapping映射

创建索引的时候,可以预先定义字段的类型以及相关属性,这样会让索引建立的更加细致和完善

可以添加的相关属性有:

属性 描述   适用类型
store是否存储该字段,yes或no,默认值为noall
index

analyzed,not_analyzed或no

analyzed表示索引且分析,默认值

not_analyzed表示索引但不分析

no表示不索引这个字段,这样就搜不到

string

其它类型只能设为

no或not_analyzed

null_value如果字段是空值,通过它可以设置一个默认值,比如“null_value”:"NA"all
boost设置字段的权值,默认值是1.0all
index_analyzer设置一个索引时用的分析器all
search_analyzer设置一个搜索时用的分析器all
analyzer

设置索引和搜索时用的分析器,elasticsearch默认使用的是standard分析器,还可以使用

whitespace、simple和english这三种内置的分析器

all
include_in_all

默认下elasticsearch会为每一个文档定义一个特殊的域_all,它的作用就是每一个字段都

将被搜索到,如果你不想让某个字段被搜索到,那么就在这个字段里定义一个

include_in_all=false;默认值是true

all
index_name字段的名称,默认是字段本身的名字all
normsnorms的作用是根据各种规范化因素去计算权值,这样方便查询all

动态映射

文档中碰到一个以前没见过的字段时,动态映射可以自动决定该字段的类型,并对该字段添加映射

通过dynamic属性进行控制

dynamic:true 默认值,动态添加字段

dynamic:false 忽略新字段

dynamic:strict 碰到陌生字段,抛出异常


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值