基于Elasticsearch RESTFul Api操作

1.基本概念

  • 索引(库):index 索引,相当于 database,用于管理所有的数据。
  • 类型:type类型,相当于 table。

2. 基于RESTFul Api操作

2.1 索引管理

  • 创建索引:相当于数据库
PUT 索引名
{
}
  • 查询索引
GET 索引名
  • 删除索引
DELETE 索引名

2.2 映射操作

  • 创建
PUT 索引名/_mapping/类型
{
	"properties" : {
		"字段": {
			"参数名": "参数值"
		}
	}
}
参数名 : type,表示类型
参数值:
	字符串:text(可分词)、keyword(不可分词) 
	数值
	时间

2.2.1 查看映射

GET 索引号/_mapping

2.3 数据操作

2.3.1 添加数据:无id

POST _index/_type
{
	"属性":"值",
	"属性2:"值2
}

在这里插入图片描述

2.3.2 添加或更新数据:有id

  • 如果id存在将更新,如果不存在,将添加
PUT _index/_type/id
{
	"属性":"值",
	"属性2:"值2
}

在这里插入图片描述

2.3.3 删除数据

DELETE _index/_type/id

在这里插入图片描述

2.4 查询操作

2.4.1 通过id查询

  • 通过id查询所有 (select * from book where id = ?)
GET _index/_type/id

在这里插入图片描述

  • 通过id查询部分 ( select title,price from book where id = ?)
GET _index/_type/id?_source=字段,字段2

在这里插入图片描述

2.4.2 查询所有

  • 所有索引库,查询操作,查询所有
GET _search
{
	"query" : {
		"match_all" : {
		
		}
	}
}
GET _search

在这里插入图片描述

2.4.3 关键字查询

  • 使用match 处理条件
GET _index/_search
{
	"query" : {
		"match" : {
			字段名: 值
		}
	}
}
  • title 类型 text,表示支持分词,只要与“jpg”部分词相同,就可以查询出来
    在这里插入图片描述

2.4.4 复合查询:must (交集 and)

  • 使用 bool 进行多条件拼凑
  • 采用 must 、must_not 进行数据过滤
    • must 确定留下的数据
    • must_not 确定不需要的数据
#采用多条件进行查询,查询title为 “Java编程思想”
GET czxy/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "title": "Java编程思想"
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "title": "PHP"
          }
        }
      ]
    }
  }
}

在这里插入图片描述

2.4.5 复合查询:should (并集 or)

GET czxy/_search
{
  "query": {
    "bool": {
      "should": [
      	{
      	关键字查询
      	},
      	....
      ]
    }
  }
}

在这里插入图片描述

2.4.6 精准查询:term

  • 注意:精准查询指定数据类型(数值、布尔、未分词字符串)
GET _index/_search
{
  "query": {
    "term" : {
    	字段
    }
  }
}

在这里插入图片描述

  • 结论

    • 如果数据未分词,且需要精准查询,使用term
    • 普通查询,对数据进行分词处理,使用match

2.4.7 范围查询:range

GET 索引库/_search
{
  "query": {
    "range": {
      "字段": {
        gt : "大于",
        lt : "小于",
        gte : "大于或等于",
        lte : "小于或等于" 
      }
    }
  }
}

在这里插入图片描述

2.4.8 排序: sort

GET czxy/_search
{
  "query": {
    "match_all": {
    }
  },
  "sort" : {
  	"字段": {
  		"order" : "排序"				//asc 、desc
  	}
  }
}

在这里插入图片描述

2.4.9 分类:from + size

GET czxy/_search
{
  "query": {
    "match_all": {
    }
  },
  "from" : 0,			//开始索引号,从0开始的
  "size" : 2			//每页的个数
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值