美文网首页
elasticsearch中级之DSL学习(二)

elasticsearch中级之DSL学习(二)

作者: 沙漏如心 | 来源:发表于2018-04-28 17:59 被阅读0次

        上一篇呢,我们讲述了一下基本查询,让大家明白了简单的一下查询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 字段。  

 我这里呢,因为版本的问题已经不支持改字段了。 所以也就没办法看效果。 (我的资料太老旧了!!!)

大致意思呢,表达明白了就行!!!

 新手小白一个,欢迎各位大佬斧正!!

相关文章

网友评论

      本文标题:elasticsearch中级之DSL学习(二)

      本文链接:https://www.haomeiwen.com/subject/fsuxlftx.html