一.语法格式
GET 索引名/_search
{
“command”:{ “parameter_name” : “parameter_value”}
}
1.查询所有的数据
GET 索引名/_search
{
"query" : { "match_all" : {} }
}
2.条件 搜索(对条件进行拆词)
GET 索引名/_search
{
"query": {
"match": {
"字段名": "搜索条件"
}
}
}
3.短语搜索(phrase search,对条件不拆词)
短语检索。要求查询条件必须和具体数据完全匹配才算搜索结果。其特征是:
1.对搜索条件进行拆词
把拆词当作一个整体,整体去索引(所以是存储内容被拆词后的结果)中匹配,必须严格匹配
GET 索引名/_search
{
"query": {
"match_phrase": {
"字段名": "搜索条件"
}
4.范围查询
GET 索引名/类型名/_search
{
"query" : {
"range" : {
"字段名" : {
"gt" : 搜索条件1,
"lte" : 搜索条件2
}
}
}
}
5.多条件复合查询(bool)
GET 索引名/类型名/_search
{
"query": {
"bool": {
"must": [ #数组中的多个条件必须同时满足
{
"range": {
"字段名": {
"lt": 条件
}
}
}
],
"must_not":[ #数组中的多个条件必须都不满足
{
"match": {
"字段名": "条件"
}
},
{
"range": {
"字段名": {
"gte": "搜索条件"
}
}
}
]
"should": [# 数组中的多个条件有任意一个满足即可。
{
"match": {
"字段名": "条件"
}
},
{
"range": {
"字段名": {
"gte": "搜索条件"
}
}
}
]
}
}
}
6.排序
GET 索引名/类型名/_search
{
"query": {
[搜索条件]
},
"sort": [
{
"字段名1": {
"order": "asc"
}
},
{
"字段名2": {
"order": "desc"
}
}
]
}
7.分页
GET 索引名称/_search
{
"query":{
"match_all":{}
},
"from": 起始下标,
"size": 查询记录数
}
8.高亮highlight display
GET 索引名/_search
{
"query": {
"match": {
"字段名": "条件"
}
},
"highlight": {
"fields": {
"要高亮显示的字段名": {
"fragment_size": 5, #每个分段长度,默认20
"number_of_fragments": 1 #返回多少个分段,默认5
}
},
"pre_tags": ["前缀"],
"post_tags": ["后缀"]
}
}