elasticsearch 7.x 增删改查

5 篇文章 0 订阅
3 篇文章 0 订阅

索引shema  

新增索引

PUT /student
{
  "settings":
  {
     "number_of_shards" : 5,
     "number_of_replicas" : 1
  }
  , "mappings":
  {
    "properties": 
    {
      "title":{"type":"text"},
      "name":{"type":"text"},
      "age":{"type":"integer"}
    }
  }
}

修改索引

索引修改只能新增字段,无法修改类型

PUT /student/_mapping
{
 
    "properties": 
    {

      "tag":{"type":"text"}
    }
  
}

curl  -XPUT http://host:port/threads/_mapping  -H 'Content-Type: application/json'  -d '{"properties":{"sink":{"type":"byte"}}}' 
curl -XPOST  http://host:port/threads/_update_by_query  -H 'Content-Type: application/json' -d'{ "script": {"lang": "painless","source": "if (ctx._source.sink == null) {ctx._source.sink = 0}"}}'

删除索引

DELETE student

以下列子错误:mapping一旦设定将不能修改

PUT /student/_mapping
{
 
    "properties": 
    {

      "age":{"type":"long"}
    }
  
}

 索引document 增删改查


#修改或添加(存在则修改)
POST student/_doc/1
{
  "id":1,
  "name":"zyw",
  "age":50
  
}
POST student/_doc/3
{
  "id":3,
  "name":"ssh",
  "age":32
  
}
#添加
POST student/_doc/1
{
  "id":1,
  "name":"ssh",
  "age":20
  
}
#修改部分字段内容
POST student/_update/2
{
 "doc": {
   "age":40
 }
}
#添加
POST student/_create/2
{
  "id":2,
  "name":"ly",
  "age":30
}
#删除
DELETE student/_doc/2
GET student/_doc/1




#range 查询
GET /food/_search
{
   "query":{
      "range": {
        "price": {
            "gte":  1.0,
            "lt":   7
        }
     }     
   }

}
#multi_match
GET /food/_search
{
   "query":{
      "multi_match": {
        "query":    "白菜",
        "fields":   [ "name", "desc" ]
    }
   }
}
#match_all 查询
#match_all 查询简单的匹配所有文档。在没有指定查询方式时,它是默认的查询:
GET /food/_search
{
  "query":
    { "match_all": {}}
}
#term 查询
#term 查询被用于精确值匹配,这些精确值可能是数字、时间、布尔或者那些 not_analyzed 的字符串:
GET /food/_search
{
  "query": {
    "term": {
      "price": 7
    }
  }
}
#terms 查询和 term 查询一样,但它允许你指定多值进行匹配。如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件
GET /food/_search
{
  "query":{
     "terms": { "desc": [ "白菜", "辣椒", "菠菜" ] }
  }
}
#布尔过滤器复合查询

GET /food/_search
{
   "query" : {
            "bool" : {
              "should" : [
                 { "term" : {"price" : 2}}, 
                 { "term" : {"name" : "bo cai"}} 
              ],
              "must_not" : {
                 "term" : {"price" : 30} 
              }
           }
        
      
   }
}
#布尔过滤器嵌套  must not 不算分
GET /food/_search
{
  "query":{
        "bool":{
              "should" : [
                { "term" : {"price": "2"}}, 
                { "bool" : { 
                  "must" : [
                    { "term" : {"name" : "bo cai"}}, 
                    { "term" : {"price" : 7}} 
                  ]
                }}
              ]
           }
  }
}
# constant_score不会算分同时缓存,只能使用term查询
GET /food/_search
{
    "query" : {
        "constant_score" : {
            "filter" : {
                "terms" : { 
                    "price" : [2, 7]
                }
            }
        }
    }
}
#simple_query_string 针对text keyword 无效
GET food/_search
{
  "query": {
    "simple_query_string": {
      "query": "鹦鹉菜 菠菜",
      "fields": ["name","desc"],
      "default_operator": "AND"
    }
  }
}
#multi_match 多字段
GET food/_search
{
  "query": {
    "multi_match": {
        "query":                "菠菜",
        "type":                 "best_fields", 
        "fields":               [ "name", "desc" ],
        "tie_breaker":          0.3,
        "minimum_should_match": "30%" 
    } 
  }
}
#多索引_all 搜索
GET student,food/_search?q=bo cai
#高亮色
GET food/_search
{
  "query":{
    "match": {
      "name": "bo cai"
    }
  } , 
  "highlight": {
    "pre_tags": "<b class='key' style='color:red'>",
    "post_tags": "</b>",
    "fields": {
      "name": {}
    }
  
  }
}
#建议搜索单词拼写错误
POST food/_search
{
 
  "suggest" : {
    "my-suggestion" : {
      "text" : "cai",
      "term" : { 
        "field" : "desc" 
      }
    }
  }
}
DELETE food
#自动补全
PUT /food
{
  "mappings":{
     "properties": 
    {
      "id":{"type":"integer"},
      "name":{"type":"keyword"},
      "price":{"type":"double"},
      "desc":{"type":"text","analyzer": "ik_smart"},
      "address":{"type":"completion"}
    }
  }
}
POST /food/_bulk
{ "index": { "_id": 5 }}
{ "price":10,"name":"huang gua","desc":"黄瓜(学名:Cucumis sativus L.)葫芦科一年生蔓生或攀援草本植物。茎、枝伸长,有棱沟,被白色的糙硬毛。卷须细。叶柄稍粗糙,有糙硬毛;叶片宽卵状心形,膜质,裂片三角形,有齿。雌雄同株。雄花:常数朵在叶腋簇生;花梗纤细,被微柔毛;花冠黄白色,花冠裂片长圆状披针形。雌花:单生或稀簇生;花梗粗壮,被柔毛;子房粗糙。果实长圆形或圆柱形,熟时黄绿色,表面粗糙。种子小,狭卵形,白色,无边缘,两端近急尖。花果期夏季","address":"新疆维吾尔族自治区" }
{ "index": { "_id": 6 }}
{ "price":12,"name":"hong shu","desc":"番薯是一种高产而适应性强的粮食作物,与工农业生产和人民生活关系密切。块根除作主粮外,也是食品加工、淀粉和酒精制造工业的重要原料,根、茎、叶又是优良的饲料","address":"大和民族" }
{ "index": { "_id": 7 }}
{ "price":13,"name":"fan qie","desc":"番茄原产南美洲,中国南北方广泛栽培。番茄的果实营养丰富,具特殊风味。可以生食、煮食、加工番茄酱、汁或整果罐藏","address":"大国风范" }
GET /food/_search
{
    "suggest": {
     "index-suggest" : {
        "prefix" : "大",
        "completion" : {
            "field" : "address"
        }
    }
    }
   
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值