Elasticsearch常用语句

本文介绍了Elasticsearch的基本操作,包括新建Mapping、查询语句、模糊匹配、排序与自定义返回字段以及数据更新和删除。重点讨论了各种查询类型如match、term、range,以及如何进行字段映射和设置刷新间隔。
摘要由CSDN通过智能技术生成

1.新建Mapping,相当于mysql中的字段,区别是ES已有的mapping字段建立后不允许删除和修改

 PUT /your_index/
{
   
  "mappings": {
   
    "_doc": {
    //默认类型为_doc,可看作mysql的表
      "properties": {
   
        "id": {
   
          "type": "keyword" //数据类型 (text、keyword、date、object、geo等) 
        },
	     "name": {
   
          "type": "keyword"
        }
      }
    }
  },
  "settings": {
   
    "index": {
   
      "number_of_shards": 5,
      "number_of_replicas": 1
    }
  }
}

说明:
类型默认为“_doc”,可自定义名称,在elasticsearch 7.0.0版本必须使用单index,单type,多type结构则会完全移除。
数据类型:

1.text:字符串类型,用于全文索引的字段,例如一篇文章或评论,大小写不敏感
2.long, integer, short, byte, double, float, half_float, scaled_float:数字类型
3.data:时间类型 :常用的时间类型 format 有:epoch_millis(时间戳,精确到毫秒)、epoch_second(时间戳,精确到秒)
4.boolean:布尔类型
5.binary:二进制类型
6.array:json 中的数组,里面可以包含 string、integers、array、objects,如果是 array object,里面包含的对象或数组不会被索引。
7.object:对象
8.nested:array 对象,里面的包含的对象字段会被索引。
9.keyword:精确匹配关键字,大小写敏感

number_of_shards:是指索引要做多少个分片,默认为5,只能在创建索引时指定,后期无法修改,分片类似于数据库中的分库分表,在集群中,同一个索引的分片会均匀的分布在集群的节点中。
number_of_replicas:每个主分片的副本数(备份),默认值是 1,可在后续修改
修改分片:

PUT /your_index/_settings
{
   
    "number_of_replicas": 1
}

refresh_interval:es刷新周期。
设置刷新周期:

PUT /your_index/_settings
{
   
  "refresh_interval": 1s //毫秒:ms、秒:s、分:m
} 

重置refresh_interval:(把刷新周期变为默认,即1s)

PUT /your_index/_settings
{
   
  "refresh_interval": null
} 

禁止刷新:

PUT /your_index/_settings
{
   
  "refresh_interval": -1
} 

手动刷新:

POST /your_index/_doc?refresh
{
   
  //写入、修改数据
} 

注意:ES是近实时刷新,如果需要写入大量数据,可以先把刷新周期禁用,写完后再刷新;如果写入日志这种实时性不是很高的数据,可以把刷新周期设置长些。

添加mapping字段(已建立好mapping)

PUT /your_index/_mapping/_doc
{
   
  "properties": {
   
    "your_name": {
   
          "type": "your_type"
        }
  }
}

删除索引

DELETE your_index/

2.查询语句
match查询:属于全文匹配,ElasticSearch引擎在处理全文搜索时,首先分析(analyze)查询字符串,使用索引映射中定义的分析器对字符串分词,ElasticSearch选择合适的分析器(analyzer),该analyzer和建立索引时使用的分析器相同,然后根据分词构建查询,最终返回查询结果。,

GET your_index/_search
{
   
  "query": {
   
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值