zoukankan      html  css  js  c++  java
  • ElasticSearch基础 增删改查进阶归纳

    1.批量操作 _bulk

    POST /customer/external/_bulk
    {"index":{"_id":3}}
    {"name":"John Doe3"}
    {"create":{"_id":4}}
    {"name":"John Doe3"}
    //data每2个json绑定数据 第1json指定文档 第2json绑定前1个json数据
    //后面同上
    
    
    //也可以把指定的索引 文档 写在下面json中 如下
    POST _bulk
    { "delete" : { "_index" : "customer", "_id" : "4" } }
    { "field1" : "value1" }
    { "delete" : { "_index" : "test", "_id" : "2" } }
    { "create" : { "_index" : "test", "_id" : "3" } }
    { "field1" : "value3" }
    { "update" : {"_id" : "1", "_index" : "test"} }
    { "doc" : {"field2" : "value2"} }

    2.检索操作 _search

    参考官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.4/getting-started-search.html
    查询条件可以选择放url?xx= 后面
    也可以放在json中
    如
    GET /bank/_search?q=*&sort=account_number:asc
    如
    GET /bank/_search
    {
      "query": { "match_all": {} },
      "sort": [
        { "account_number": "asc" }
      ]
    }
    GET /bank/_search
    {"query": {    //查询条件
      "match_all": {}
      },
      "sort": [    //排序方式
        {
          "age": "desc"    //按age字段降序
        }
      ]  ,
      "from": 0,    //分页从第0条获取
      "size": 20,    //共拿20条数据
      "_source": "{age}"    //返回age字段 返回多个用["age","name"]这种数组表示
    }
    //下面对query的api说明(重点!!!!!!!!!!!!!!!!)
    //1.查询出所有match_all
    "query": {
      "match_all": {} 
      },
    
    //2.match分词匹配 匹配查询字段 name字段有包含‘王’‘李’关键字被查出来
    "query": {
      "match": {
        "name": "王李"
      }
      },
    
    //3.match_phrase短语匹配 匹配'王李'这个词 不做分词去查 
    //建议在全文检索时用match_phrase 精确匹配时使用term
    "match_phrase": { "name": "王李" } //4.mul ti_match多字段匹配 字段firstname或字段lastname包含‘王’‘李’关键字被查出 有做分词 "multi_match": { "query": "王李", "fields": ["firstname","lastname"] } //5.bool多条件匹配 来组合多个查询条件 外层加个bool 里面must表示必须匹配 must_not表示必须不匹配 should表示可以匹配 再把条件match写在里面 "query": { "bool": { "must": [ {"match": { "FIELD": "TEXT" }} ], "must_not": [ {"match": { "FIELD": "TEXT" } } ], "should": [ {"match": { "FIELD": "TEXT" }} ] }, }
    //全文检索用match 精确查询最好用term
    如:
    {"query": {
      "term": {
        "age":20
      }
    }}

    3.聚合索引

    4.mapping映射

  • 相关阅读:
    [ 转载 ] Mysql 远程连接+开放80和3306端口 常用配置
    [ 转载 ] Mysql 数据库常用命令
    [ 转载 ] Centos 安装mysql后启动失败 出现 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
    [2020多校联考]手套
    [2020多校联考]糖果机器
    [2020多校联考]染色相邻的边
    [2020多校联考]四个质数的和
    [2020多校联考]简单题
    [2020多校联考]MC
    [2020多校联考]进化
  • 原文地址:https://www.cnblogs.com/hbhb/p/14646065.html
Copyright © 2011-2022 走看看