上一篇呢,我们讲述了一下基本查询,让大家明白了简单的一下查询elk中的数据库内容的方式。 这一篇呢,我就就不讲查询了。 我们讲一下,查询方面你都可以选择性的输入的某些参数!
分页:
{"from":10,"size":20,
"query":{"term":{"date":1517760000000}
}
}
form呢,是起点,size呢,是结果集数量。
排序:
首先呢,我们输一个DSL 吧
{"query":{"term":{"date":1517760000000}}}
比如说,我们查询时间为1517760000000 的所有数据
返回数据可是,elk看到的真的只是我们给他传的这些吗? 不是
{"query":{"term":{"date":1517760000000}},"sort":[{"_score":"desc"}]}
可以清楚的看到,elk 里面的默认排序是以_score 为倒序进行排列的!
版本号:
{"version":true,"query":{"term":{"_id": "2018-02-05B00TA7TM1W"}}}
前文我们说过,elk 的话是根据版本号来进行数据修改的,也就是说,如果你要修改数据,就需要给elk穿回去,这个数去的当前版本号。 而我们怎么知道这个版本号呢? 加上 “version”:"true" 就好了。从前面的图片我们很容易的可以看到,默认的话version是false 的。 这次我们几啊还是哪个version 试试!
版本号显示限制结果集分数:
elk 呢,大家都知道是一个搜索引擎。按照正常的流程。我们每查询一条数据,搜索引擎的话,是会在所有的数据里面找出符合我们要求的那些数据,然后根据雷同度的高低,然后为我们顺次的返回数据。 而这里呢,elk也是支持这个的。 甚至欲说,已经将这个雷同度,作为数据的某个参数,可以让我们进行匹配。
在这里呢,我们试试这个限制结果集的大小看看效果:
{"min_score":0.75,"version":true,"query":{"term":{"_id": "2018-02-05B00TA7TM1W"}}}
在这里呢,我们设置一下,结果集的最小分数是0.75. 看看效果
结果集分数大于0.75我们可以看到我们这边显示的结果集的分数都是1. 这个是没有什么效果的,当然如果谁有兴趣的话,可以慢慢尝试! 备注: 查了资料没找到最大结果集的分数怎么设置,或许不存在吧!
返回指定字段:
{"fields":["asin","date"],"query":{"term":{"date":1517760000000}}}
我们在这里指定返回 asin,跟date 字段。
我这里呢,因为版本的问题已经不支持改字段了。 所以也就没办法看效果。 (我的资料太老旧了!!!)
大致意思呢,表达明白了就行!!!
新手小白一个,欢迎各位大佬斧正!!
网友评论