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查询,还有其他很多别的查询类型是可用的,我们先不研究了。

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

  • 相关阅读:
    Tomcat和nginx负载均衡算法
    (转)CSS浮动(float,clear)通俗讲解
    MvcSiteMapProvider配置使用
    idea出现jdk版本过低导致无法通过编译
    java生成自己的doc文档
    RabbitMQ的应用场景
    java 变量和常量
    IDEA创建新空项目
    java中整型、浮点型、char型扩展
    java中数据类型占多少字节
  • 原文地址:https://www.cnblogs.com/supermanwx/p/11928656.html
Copyright © 2011-2022 走看看