Elasticsearch HTTP查询

这篇具有很好参考价值的文章主要介绍了Elasticsearch HTTP查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、条件查询

匹配查询

{
  "query": {
    "match": {
      "category": "小米"
    }
  }
}

查询全部

{
  "query": {
    "match_all": {}
  }
}

2、分页查询

查询第二页的数据,并且只获取title字段。

{
  "query": {
    "match_all": {},
    "from": 2,
    "size": 2,
    "_source": [
      "title"
    ]
  }
}

3、查询排序

{
  "query": {
    "match_all": {},
    "from": 2,
    "size": 2,
    "_source": [
      "title"
    ],
    "sort": {
      "price": {
        "order": "desc"
      }
    }
  }
}

4、多条件查询

4.1 must 两个条件同时成立

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "category": "小米"
          }
        },
        {
          "match": {
            "price": "1999"
          }
        }
      ]
    }
  }
}

4.2 should 查询符合两个条件的数据

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "category": "小米"
          }
        },
        {
          "match": {
            "category": "华为"
          }
        }
      ]
    }
  }
}

5、filter 范围查询

大于5000的数据查询

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "category": "小米"
          }
        },
        {
          "match": {
            "category": "华为"
          }
        }
      ],
      "filter": {
        "range": {
          "price": {
            "gt": 5000
          }
        }
      }
    }
  }
}

6、match、match_phrase 检索方式

match全文检索匹配

当保存文档数据时,es会将数据文字进行进行分词、拆解操作,并将拆解后的数据保存到倒排索引当中,因此即使使用数据的一部分也可以查询到数据,这种检索方式称为全文检索。

案例:小华,将会被拆解为小、华,符合条件的都可查询出来。

{
  "query": {
    "match": {
      "category": "小华"
    }
  }
}

match_phrase完全匹配

案例:则匹配小华。

{
  "query": {
    "match_phrase": {
      "category": "小华"
    }
  }
}

7、高亮查询

对查询结果当中的category字段高亮显示。

{
  "query": {
    "match_phrase": {
      "category": "小米"
    }
  },
  "highlight": {
    "fields": {
      "category": {}
    }
  }
}

8、 聚合查询

按照价格分组,并且只获取统计结果

{
  "aggs": { // 聚合操作
    "price_group": { // 名称,随意起名
      "terms": { // 分组
        "field": "price" // 分组字段
      }
    }
  },
  "size": 0 // 没有原始数据了,只有统计结果
}

不分组,统计价格平均值

{
  "aggs": {
    "price_avg": {
      "avg": { // 平均值
        "field": "price"
      }
    }
  },
  "size": 0
}

9、映射关系

创建索引:

text分词

keyword关键字需完全匹配

index索引:true可被索引,false不可被索引文章来源地址https://www.toymoban.com/news/detail-489509.html

{
  "properties": {
    "name": {
      "type": "text",
      "index": true
    },
    "sex": {
      "type": "keyword",
      "index": true
    },
    "tel": {
      "type": "text",
      "index": false
    }
  }
}

到了这里,关于Elasticsearch HTTP查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用ES做简单的时间条件过滤+模糊查询+精确匹配+关键字排除,查询 elasticsearch查询结果包含或排除某些字段、_source查询出需要的属性名称

    目录 一、时间条件过滤+模糊查询+精确匹配+排除 1. 查询出包含 log_geo 的数据 “wildcard”: { “message”: “log_geo” } 2. 查询某个时间段的数据 3. 条件查询与条件排除数据 4. from 表示起始的记录的ID 5. size 表示显示的记录数 6.sort排序 desc降序、asc升序  7.should查询在mysql中

    2024年01月18日
    浏览(70)
  • 【计算机视觉 | 目标检测】术语理解7:二值匹配(Binary Matching),DETR中的Object query的理解,匈牙利算法,DETR中的二分图匹配

    当涉及到计算机视觉中的二值匹配(Binary Matching),它是一种用于比较和匹配二值图像的技术。二值图像由黑色和白色像素组成,每个像素只有两种可能的取值。二值匹配的目标是确定两个二值图像之间的相似度或匹配度。 以下是几种常见的二值匹配方法: 汉明距离:通过

    2024年02月07日
    浏览(42)
  • [exceptions] elasticsearch使用报错:match query malformed, no start_object after query name“

    使用elastic search的template query,组织好query_string访问后,提示 “ match query malformed, no start_object after query name”。服务器应该是 es7.2的版本。 这个query_string没学太明白,但是这个报错说明qurey string的层级写的有点问题。照下面这个层级改了一下好了。如果路过的大佬后来看到e

    2024年02月11日
    浏览(41)
  • Excel小技巧,使用函数(INDEX+MATCH)快速进行条件查询

    目录 Excel小技巧,使用函数(INDEX+MATCH)快速进行条件查询 1、例如:快速查找下图右边同学的总分  2、在条件查询区域,总分单元格中输入函数【=INDEX(E:E,MATCH(H2,A:A,0))】即可  3、INDEX(E:E  函数为查找结果所在列,MATCH(H2,A:A,0)函数中H2为查找值,A:A为查找所在列,0为精确匹配

    2024年02月10日
    浏览(72)
  • Elasticsearch Boolean Query查询介绍

    前言 ES 和 Solr 的底层都是基于Apache Lucene 实现,bool 查询的底层实现是Lucene 的 BooleanQuery,其可以组合多个子句查询,类似 SQL 语句里面的 OR 查询。 查询介绍 在 ES 里面 Boolean 查询封装了 4 种 API 接口能力,可以单独使用,也可以组合使用,总结如下: 函数 描述 must query 关键

    2024年02月13日
    浏览(50)
  • Elasticsearch复合查询之Boosting Query

    前言 ES 里面有 5 种复合查询,分别是: Boolean Query Boosting Query Constant Score Query Disjunction Max Query Function Score Query Boolean Query在之前已经介绍过了,今天来看一下 Boosting Query 用法,其实也非常简单,总结起来就一句话,对不期待的查询进行相关性降分。 Boost 加权机制底层

    2024年02月12日
    浏览(42)
  • ElasticSearch级查询Query DSL上

    目录 ES高级查询Query DSL match_all 返回源数据_source 返回指定条数size 分页查询fromsize 指定字段排序sort 术语级别查询 Term query术语查询 Terms Query多术语查询 exists query ids query range query范围查询 prefix query前缀查询 wildcard query通配符查询 fuzzy query模糊查询        ES中提供了一种强大

    2024年02月20日
    浏览(58)
  • ElasticSearch Index查询(Query DSL)

    先贴一个Query DSL的官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html 我平时喜欢查看官方文档,了解数据查询和存储方面的性能优化点,下面是积累的脚本分享。 查询语句格式 查询类型:match_all,match,term,range,fuzzy,bool 等等 查询条件:查询条件会根

    2024年02月07日
    浏览(47)
  • elasticsearch term & match 查询

    运行结果: 查询结果: match_all 的值为空,表示没有查询条件,那就是查询全部。就像 select * from table_name 一样。 查询结果: match 查询时散列映射,包含了我们希望搜索的字段和字符串,即只要文档中有我们希望的那个,但也会带来一些问题。 es 会将文档中的内容进

    2023年04月19日
    浏览(56)
  • Elasticsearch 查询之Function Score Query

    前言 ES 的主查询评分模式分为两种,是信息检索领域的重要算法: TF-IDF 算法 和 BM25 算法。 Elasticsearch 从版本 5.0 开始引入了 BM25 算法作为默认的文档评分(relevance scoring)算法。在此之前,Elasticsearch 使用的是 TF-IDF 算法作为默认的文档评分算法。从版本 5.0 起,BM25 算法取代

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包