还记得之前的简单查询:
指定id查询
get world/persion/IpheZHEB1uk_PYXuZvA-
指定id查询,检索指定内容
get world/persion/IpheZHEB1uk_PYXuZvA-?_source=name,sex
下面是比较常见的完整一些的查询方法:
1.查询所有
GET _search
{
"query" : {
"match_all" : {
}
}
}
单一个_search查询就是在所有库中的数据里进行查询(可以拼接索引库如下:)
GET world/_search
{
"query" : {
"match_all" : {
}
},
"_source": ["name","sex"]
}
"_source": ["字段","字段2",....]
这里的字段看需要自行拼接,查出来的数据是只包含所给字段的信息内容
2.关键字查询
GET world/_search
{
"query": {
"match": {
"name": "jack"
}
}
}
数据如下:
因为name的数据类型是text支持分词,查询的只要是与jack相似的就都会查出来
3.复合查询
3.1must(交集)
详细解释一下:
query:查找
bool:多条件拼凑
must:需要的数据的字段名
must_not不需要的数据的字段名
GET world/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "jack"
}
}
],
"must_not": [
{
"match": {
"age": "19"
}
}
]
}
}
}
数据查询出来长这样:
3.2should(并集)
GET world/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"name": "jack"
}
},
{
"match": {
"age": "15"
}
}
]
}
}
}
数据解析:
4.精准查询
精准查询指定数据类型(数值、布尔、未分词字符串)
GET world/_search
{
"query": {
"term" : {
"age":{
"value" : 15
}
}
}
}
数据展示:
5.范围查询
GET 索引库/_search
{
"query": {
"range": {
"字段": {
gt : "大于",
lt : "小于",
gte : "大于或等于",
lte : "小于或等于"
}
}
}
}
GET world/_search
{
"query": {
"range": {
"age": {
"gte": 16,
"lte": 19
}
}
}
}
数据解析:
6.排序(和数据库类似)
GET czxy/_search
{
"query": {
"match_all": {
}
},
"sort" : {
"字段": {
"order" : "排序" //asc 、desc
}
}
}
#查询所有,然后排序
GET world/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"age": {
"order": "desc"
}
}
]
}
数据内容:
7.分页查询
GET czxy/_search
{
"query": {
"match_all": {
}
},
"from" : 0, //开始索引号,从0开始的
"size" : 2 //每页的个数
}
GET world/_search
{
"query": {
"match_all": {}
},
"from": 1,
"size": 2
}