一、Rest命令说明
二、创建索引、添加数据
PUT logs/_doc/1
{
"log_name" : "首页点击次数",
"log_value" : 4,
"user_id" : 10086,
"datetime" : "2020-05-01"
}
PUT logs/_doc/2
{
"log_name" : "首页点击次数",
"log_value" : 19,
"user_id" : 10087,
"datetime" : "2020-05-01"
}
PUT logs/_doc/3
{
"log_name" : "首页点击次数",
"log_value" : 10,
"user_id" : 10088,
"datetime" : "2020-05-01"
}
完成了索引的创建,以及数据的添加。
二、更新、增加字段
下面为文档ID为3的添加一个tags的字段
POST logs/_doc/3/_update
{
"doc" : {
"tags" : ["VIP", "收费"]
}
}
三、获取数据
GET logs/_doc/1
四、基本查询
1、基本查询
GET logs/_doc/_search/?q=log_name:首页点击次数
2、结果过滤
使用 “_source” : [“log_value”]进行结果的过滤
GET logs/_doc/_search
{
"query" : {
"match" : {
"log_name" : "首页点击次数"
}
},
"_source" : ["log_value"]
}
3、排序与分页
GET logs/_doc/_search
{
"query" : {
"match" : {
"log_name" : "首页点击次数"
}
},
"sort" : [
{
"log_value" : {
"order" : "asc"
}
}
],
"from" : 0,
"size" : 1
}
from为从第几页开始
size为返回多少条数据
五、布尔值查询
1、must
must是“与”,相当于and。
GET logs/_doc/_search
{
"query" : {
"bool" : {
"must" : [
{
"match" : {
"log_name" : "首页点击次数"
}
},
{
"match" : {
"user_id" : "10086"
}
}
]
}
}
}
匹配log_name为“首页点击次数”,并且user_id为10086的数据。
2、should
should是“或”,相当于or。
GET logs/_doc/_search
{
"query" : {
"bool" : {
"should" : [
{
"match" : {
"log_name" : "首页点击次数"
}
},
{
"match" : {
"user_id" : "10086"
}
}
]
}
}
}
3、must_not
must_not是“非”,相当于not。
4、filter
filter是过滤器,可以用来对数据进行过滤处理。
GET logs/_doc/_search
{
"query" : {
"bool" : {
"must" : [
{
"match" : {
"log_name" : "首页点击次数"
}
}
],
"filter": {
"range" : {
"log_value" : {
"gt" : 10,
"lt" : 20
}
}
}
}
}
}
查询log_value大于10小于20的值。
- gt 大于
- gte 大于等于
- lt 小于
- lte 小于等于!
六、精确查询
term 查询是直接通过倒排索引指定的词条进程精确查找的!
- term ,直接查询,精确的
- match,使用分词器解析,先分析文档,然后在通过分析的文档进行查询。