栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticSearch-基础语法

elasticSearch-基础语法

 索引和映射:

//创建索引
PUT /my-test
//查看索引信息
GET /my-test
//查看索引是否存在
HEAD /my-test
//打开关闭
POST /my-test/_close
POST /my-test/_open
//删除
DELETE /my-test

//创建索引和映射
PUT /my-test
{
 "mappings": {
   "properties": {
     "name":{
       "type": "text",
       "analyzer": "ik_max_word"
     },
     "logo":{
       "type": "keyword",
       "index": false
     },
    "payment":{
      "type": "float"
    }
   }
 } 
}


//修改索引映射(只能增加字段,其他修改只能删除索引重新建立)
PUT /my-test/_mapping
{
  "properties": {
     "address":{
       "type": "text",
       "analyzer": "ik_max_word"
     }
   }
}

//查看映射
GET /my-test/_mapping

映射类型:

1)  type String 类型,又分两种:         text:可分词,不可参与聚合         keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合 Numerical :数值类型,分两类         基本数据类型:long 、 interger 、 short 、 byte 、 double 、 flfloat 、 half_flfloat         浮点数的高精度类型:scaled_flfloat         需要指定一个精度因子,比如10 或 100 。 elasticsearch 会把真实值乘以这个因子后存 储,取出时再还原。 Date :日期类型         elasticsearch可以对日期格式化为字符串存储,但是建议我们存储为毫秒值,存储为 long,节省空间。 Array :数组类型         进行匹配时,任意一个元素满足,都认为满足         排序时,如果升序则用数组中的最小值来排序,如果降序则用数组中的最大值来排序 2 ) index

        true:字段会被索引,则可以用来进行搜索。默认值就是true

false :字段不会被索引,不能用来搜索 3 ) store         是否将数据进行独立存储。 原始的文本会存储在 _source 里面,store:true来独立存储,要比从_source中解析快得多,但是也会占用更多的空间,所以要根据实际业务需求来设置, 默认为false。   4 ) analyzer :指定分词器         一般我们处理中文会选择ik 分词器 ik_max_word ik_smart

 

文档:即数据

//插入数据
POST /my-test/_doc/1
{
  "name":"张三",
  "logo":"www.baidu.com",
  "payment":30000
}

POST /my-test/_doc/2
{
  "name":"李四",
  "logo":"www.baidu.com",
  "payment":30000
}

//查找
GET /my-test/_doc/1

//查找所有
GET /my-test/_search
POST /my-test/_search
POST /my-test/_search
{
  "query": {
    "match_all": {}
  }
}

//按id查找,返回指定字段
GET /my-test/_doc/1?_source=name,logo

//更新
POST /my-test/_update/1
{
 "doc": {
    "name":"张三"
 }
}

//删除
DELETE /my-test/_doc/1

//按条件删除
POST /my-test/_delete_by_query
{
  "query": {
    "match": {
      "name":"李四"
    }
  }
}

//全部删除
POST /my-test/_delete_by_query
{
  "query": {
    "match_all": {}
  }
}
Query DSL:
//分词后使用or查询
GET /my-test/_search
{
  "query": {
    "match": {
      "name": "小米电视4A"
    }
  }
}

//分词后使用and查询
GET /my-test/_search
{
  "query": {
    "match": {
      "name": {
        "query": "小米电视4A",
        "operator": "and"
      }
    }
  }
}

//短语查询,最小须满足此短语
GET /my-test/_search
{
  "query": {
    "match_phrase": {
      "name": "小米电视"
    }
  }
}


//query_string可以不指定字段查询,也可指定一个或多个字段
GET /my-test/_search
{
  "query": {
    "query_string": {
      "query": "小米电视"
    }
  }
}

GET /my-test/_search
{
  "query": {
    "query_string": {
      "default_field":"name",
      "query": "小米电视"
    }
  }
}

//注意: AND大写,否则不生效
GET /my-test/_search
{
  "query": {
    "query_string": {
      "default_field": "name",
      "query": "小米 AND 华为"
    }
  }
}

GET /my-test/_search
{
  "query": {
    "query_string": {
      "fields":["name","urlA"],
      "query": "小米电视"
    }
  }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号