elasticsearch

2022-01-10 16:53:01 浏览数 (1)

代码语言:javascript复制
    一.GET请求
1.查询仓库中content字段=java的文档
	localhost:9200/discuss/title_content/_search
	{
	"query":{
	"match": {
		"content": "java"
	}
	}

2.全文档内容查询类型与select * from *
	localhost:9200/discuss/title_content/_search
	{
	"query":{
	"match_all": {
	}
	}

3.返回指定的字段内容, 例如在content字段为java的文档中只返回user.id user.name
	localhost:9200/discuss/title_content/_search
	{
	"query":{
	"match":{
	"content":"java"
	}
	},
	"_source":["user.id", "user.name"]
}
4.在返回的文档中,进行排序
	localhost:9200/discuss/title_content/_search
	{
	"query":{
	"match_all":{
	}
	},
	"sort":[
			{
			"id":{
				"order":"desc"
	}
	}
	]	
	}
5.分页查询, 在4的返回结果中分页查询
	{
	"query":{
	"match_all":{
	}
	},
	"sort":[
		{
			"id":{
				"order":"desc"
			}
		}
	],
    "from":1,
    "size":2
}
6.布尔查询, 将符合要求的文档全部查出来
	1.must请求类似与and
		{
		"query": {
		"bool": {
		"must": [
		{
		"match": {
		"content": "java"
		}
		},
		{
		"match": {
		"id": 3
		}
		}
		]
		}
		}
		}
	2.should请求类似与or
		{
		"query": {
		"bool": {
		"should": [
		{
		"match": {
		"content": "java"
		}
		},
		{
		"match": {
		"id": 3
		}
		}
		]
		}
		}
		}
	3.must_not 类似与not查找出不符合条件的数据
		{
		"query": {
		"bool": {
		"must_not": [
		{
		"match": {
		"content": "java"
		}
		},
		{
		"match": {
		"id": 3
		}
		}
		]
		}
		}
		}
	4.fitter 例如 select * from discuss where content = java and age 在[1,1]之间
		gt 表示大于
		gte 表示大于等于
		lt 表示小于
		lte 表示小于等于
		
		{
		"query":{
		"bool": {
		"must": [
		{
		"match": {
		"content": "java"
		}
		}
		],
		"filter": {
		"range": {
		"user.id": {
		"gte": 1,
		"lte": 1
		}
		}
		}
		}
		}
		}
7.高亮查询
	{
	"query":{
	"match": {
	"title": "java"
	}
	},
	"highlight" :{
	"fields": {
	"title":{}
	}
	},
	"_source":["title"]
	}

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名,转载请标明出处 最后编辑时间为: 2021/08/08 01:53

0 人点赞