ElasticSearch的基本原生操作
Posted 暴躁的程序猿啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch的基本原生操作相关的知识,希望对你有一定的参考价值。
可以用postman 我这里用kibana执行的命令 把index换成自己的就可以了 es版本7.8.0
查询所有索引
GET /_cat/indices?v
全部查询
GET /fei_index/_search
或
GET /fei_index/_search
{
"query": {
"match_all": {
}
}
}
主键查询
GET /fei_index/_doc/1
全量修改
版本号加一
GET /fei_index/_doc/1
{
"name": "小米",
"age": 22
}
删除
DELETE /fei_index/doc/1
条件查询
GET /fei_index/_search?q=name:张
或
GET /fei_index/_search
{
"query": {
"match": {
"name": "张三"
}
}
}
分页查询
GET /fei_index/_search
{
"query": {
"match_all": {
}
},
"from": 0,
"size": 2
}
求分页 (页码-1)*每页数据条数
查询所有 每个数据只显示 age
GET /fei_index/_search
{
"query": {
"match_all": {
}
},
"from": 0,
"size": 2,
"_source": ["age"]
}
排序查询
GET /fei_index/_search
{
"query": {
"match_all": {
}
},
"from": 0,
"size": 2,
"_source": ["age"],
"sort": [
{
"age": {
"order": "desc" //排序
}
}
]
}
多条件查询 多个条件全部成立
must
GET /fei_index/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"age": "22"
}
},
{
"match": {
"name": "张三"
}
}
]
}
}
}
多条件查询 其中一个条件成立即可
should
GET /fei_index/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"age": "22"
}
},
{
"match": {
"name": "小米"
}
}
]
}
}
}
范围查询
gt大于
gte大于等于
GET /fei_index/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"age": "22"
}
},
{
"match": {
"name": "小米"
}
}
],
"filter": [
{
"range": {
"age": {
"gte": 10,
"lte": 20
}
}
}
]
}
}
}
完全匹配
match查询会进行分词 如果不想要分词我们需要完全匹配
GET /fei_index/_search
{
"query": {
"match_phrase": {
"name": "张三"
}
}
}
高亮显示
把查询出来的name字段进行高亮显示
GET /fei_index/_search
{
"query": {
"match_phrase": {
"name": "张三"
}
},
"highlight": {
"fields": {
"name": {}
}
}
}
以上是关于ElasticSearch的基本原生操作的主要内容,如果未能解决你的问题,请参考以下文章
elasticsearch代码片段,及工具类SearchEsUtil.java
Elasticsearch学习 spring boot整合Elasticsearch的原生方式
ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段