zoukankan      html  css  js  c++  java
  • 执行过滤

    source:https://www.elastic.co/guide/en/elasticsearch/reference/6.4/getting-started-filters.html

    在前面的章节中 我们跳过了一个小细节:文档打分(查询结果中的_score字段),这个数值是用来衡量结果与你搜索条件的匹配程度,分数越高,文档关联程度越高,分数越低,关联程度越低。

    但是查询并不总是需要分数,尤其是当我们只用过滤条件来对文档进行查询的时候,es为这些情况提供了优化查询去掉没有用的打分制。

    我们之前介绍的布尔查询同样支持过滤条件,接下来介绍一下query的range查询操作,允许我们通过一个范围内的值对文档进行过滤操作。这个通常用在数值型或者日期型的过滤操作中。

    下面的例子通过一个布尔查询返回所有balances在20000和30000质检的值,换句话说,我们希望找到一些大于等于20000和小于等于30000的数据。

    curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
    {
    "query": {
    "bool": {
    "must": { "match_all": {} },
    "filter": {
    "range": {
    "balance": {
    "gte": 20000,
    "lte": 30000
    }
    }
    }
    }
    }
    }
    '

    分析下上面的内容。bool查询包含match_all的查询(查询部分)和range查询(过滤部分)

    我们可以总结出任何其他形式的包含query和过滤部分的查询组合,在上面的示例中,

    区间查询完美的让每个文档都公平的匹配,没有文档会比其他文档更加符合要求。

    除了match_all,match,bool,和range查询,还有其他很多别的查询类型是可用的,我们先不研究了。

    我们已经对他们的运行有了一个基本的理解,所以参考我们学到的去试验其他的查询方式应该不困难。

  • 相关阅读:
    BZOJ3052:[WC2013]糖果公园
    浅谈莫队
    BZOJ2120:数颜色(莫队版)
    BZOJ3809:Gty的二逼妹子序列
    BZOJ3289:Mato的文件管理
    BZOJ2038:[2009国家集训队]小Z的袜子
    浅谈分块
    Django框架之 Cookie与Session组件
    Django框架之 forms组件
    Django框架之 自定义分页器组件
  • 原文地址:https://www.cnblogs.com/supermanwx/p/11928656.html
Copyright © 2011-2022 走看看