elasticsearch的rest搜索--- 查询
目录: 一、针对这次装B 的解释
四、 查询
四、 查询
1. 查询的官网的文档

- took —— Elasticsearch执行这个搜索的耗时,以毫秒为单位- timed_out —— 指明这个搜索是否超时
- _shards —— 指出多少个分片被搜索了,同时也指出了成功/失败的被搜索的shards的数量
- hits —— 搜索结果
- hits.total —— 能够匹配我们查询标准的文档的总数目
- hits.hits —— 真正的搜索结果数据(默认只显示前10个文档)- _score和max_score —— 现在先忽略这些字段
 "query":{
    "match":{
      "UserName":"BWH-PC"
     }
 }
 {
     "query": {
         "match": {
             "text": "quick fox"
         }
     }
 }
相当于
 {
     "query": {
         "bool": {
             "should": [
                 {
                     "term": {
                         "text": "quick"
                     }
                 },
                 {
                     "term": {
                         "text": "fox"
                     }
                 }
             ]
         }
     }
 }
 {
     "query": {
         "multi_match": {
             "query": "bbc0641345dd8224ce81bbc79218a16f",
             "operator": "or",
             "fields": [
                 "*.machine"
             ]
         }
     }
 }
 {
     "bool": {
         "must": {
             "match": {
                 "title": "how to make millions"
             }
         },
         "must_not": {
             "match": {
                 "tag": "spam"
             }
         },
         "should": [
             {
                 "match": {
                     "tag": "starred"
                 }
             },
             {
                 "range": {
                     "date": {
                         "gte": "2014-01-01"
                     }
                 }
             }
         ]
     }
 }
 "term": {
     "CapabilityDescriptions": "aa"
 }
 {
     "query": {
         "bool": {
             "should": [
                 {
                     "constant_score": {
                         "query": {
                             "match": {
                                 "description": "wifi"
                             }
                         }
                     }
                 },
                 {
                     "constant_score": {
                         "query": {
                             "match": {
                                 "description": "garden"
                             }
                         }
                     }
                 },
                 {
                     "constant_score": {
                         "boost": {
                             "query": {
                                 "match": {
                                     "description": "pool"
                                 }
                             }
                         }
                     }
                 }
             ]
         }
     }
 }
missing相当于is null【没查到的是null】
 {
     "query": {
         "filtered": {
             "query": {
                 "match": {
                     "email": "business opportunity"
                 }
             },
             "filter": {
                 "term": {
                     "folder": "inbox"
                 }
             }
         }
     }
 }
 {
     "query": {
         "filtered": {
             "filter": {
                 "bool": {
                     "must": {
                         "term": {
                             "folder": "inbox"
                         }
                     },
                     "must_not": {
                         "query": {
                             "match": {
                                 "email": "urgent business proposal"
                             }
                         }
                     }
                 }
             }
         }
     }
 }
  "range": {
         "price": {
             "gt": 20,
             "lt": 40
     }
 }
 {
     "query": {
         "filtered": {
             "filter": {
                 "range": {
                     "price": {
                         "gte": 20,
                         "lt": 40
                     }
                 }
             }
         }
     }
 }
 {
     "range": {
         "timestamp": {
             "gt": "2014-01-0100: 00: 00",
             "lt": "2014-01-0700: 00: 00"
         }
     }
 }
 {
     "range": {
         "timestamp": {
             "gt": "now-1h"
         }
     }
 }
后置过滤--post_filter元素是一个顶层元素,只会对搜索结果进行过滤。警告:性能考量
只有当你需要对搜索结果和聚合使用不同的过滤方式时才考虑使用post_filter。有时一些用户会直接在常规搜索中使用post_filter。
不要这样做!post_filter会在查询之后才会被执行,因此会失去过滤在性能上帮助(比如缓存)。
post_filter应该只和聚合一起使用,并且仅当你使用了不同的过滤条件时。
 {
     "query": {
         "query_string": {
             "query": "*"
         }
     },
     "post_filter": {
         "bool": {
             "should": {
                 "query": {
                     "bool": {
                         "should": [
                             {
                                 "match": {
                                     "machine": "bbc0641345dd8224ce81bbc79218a16f"
                                 }
                             },
                             {
                                 "match": {
                                     "machine": "bbc0641345dd8224ce81bbc79218a16f"
                                 }
                             }
                         ]
                     }
                 }
             }
         }
     }
 }
当然,在里面的每一个should中,可以去做很多变形,但是should多个子类时,必须用[]
 {
     "query": {
         "query_string": {
             "query": "*"
         }
     },
     "post_filter": {
         "bool": {
             "should": [
                 {
                     "query": {
                         "bool": {
                             "must": [
                                 {
                                     "multi_match": {
                                         "query": "bbc0641345dd8224ce81bbc79218a16f",
                                         "operator": "or",
                                         "fields": [
                                             "*.machine",
                                             ""
                                         ]
                                     }
                                 },
                                 {
                                     "multi_match": {
                                         "query": "10.10.185.99",
                                         "operator": "or",
                                         "fields": [
                                             "*.IPAddress",
                                             ""
                                         ]
                                     }
                                 }
                             ]
                         }
                     }
                 },
                 {
                     "query": {
                         "bool": {
                             "must": [
                                 {
                                     "match": {
                                         "machine": "bbc0641345dd8224ce81bbc79218a16f"
                                     }
                                 },
                                 {
                                     "match": {
                                         "IPAddress": "10.10.11.11"
                                     }
                                 }
                             ]
                         }
                     }
                 }
             ]
         }
     }
 }
      
    
 {
     "query": {
         "filtered": {
             "query": {
                 "query_string": {
                     "query": "*"
                 }
             },
             "filter": {
                 "bool": {
                     "should": {
                         "query": {
                             "bool": {
                                 "should": [
                                     {
                                         "multi_match": {
                                             "query": "a2",
                                             "operator": "or",
                                             "fields": [
                                                 "*.last"
                                             ]
                                         }
                                     },
                                     {
                                         "match": {
                                             "last": "a2"
                                         }
                                     }
                                 ]
                             }
                         }
                     }
                 }
             }
         }
     }
 }

elasticsearch的rest搜索--- 查询的更多相关文章
- ElasticSearch High Level REST API【2】搜索查询
		
如下为一段带有分页的简单搜索查询示例 在search搜索中大部分的搜索条件添加都可通过设置SearchSourceBuilder来实现,然后将SearchSourceBuilder RestHighL ...
 - ElasticSearch第四步-查询详解
		
ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSea ...
 - ElasticSearch中的简单查询
		
前言 最近修改项目,又看了下ElasticSearch中的搜索,所以简单整理一下其中的查询语句等.都是比较基础的.PS,好久没写博客了..大概就是因为懒吧.闲言少叙书归正传. 查询示例 http:// ...
 - ElasticSearch(8)-分布式搜索
		
分布式搜索的执行方式 在继续之前,我们将绕道讲一下搜索是如何在分布式环境中执行的. 它比我们之前讲的基础的增删改查(create-read-update-delete ,CRUD)请求要复杂一些. 注 ...
 - ElasticSearch(6)-结构化查询
		
引用:ElasticSearch权威指南 一.请求体查询 请求体查询 简单查询语句(lite)是一种有效的命令行_adhoc_查询.但是,如果你想要善用搜索,你必须使用请求体查询(request bo ...
 - ElasticSearch改造研报查询实践
		
背景: 1,系统简介:通过人工解读研报然后获取并录入研报分类及摘要等信息,系统通过摘要等信息来获得该研报的URI 2,现有实现:老系统使用MSSQL存储摘要等信息,并将不同的关键字分解为不同字段来提供 ...
 - elasticsearch基本概念与查询语法
		
序言 后面有大量类似于mysql的sum, group by查询 elk === elk总体架构 https://www.elastic.co/cn/products Beat 基于go语言写的轻量型 ...
 - Graylog日志管理系统---搜索查询方法使用简介
		
Elasticsearch 是一个基于 Lucene 构建的开源.分布式.提供 RESTful 接口的全文搜索引擎 一.Search页面的各位置功能介绍: 1.日志搜索的时间范围 为了使用方便,预设有 ...
 - 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询
		
第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...
 
随机推荐
- 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性
			
原文:返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 [索引页][源码下载] 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 ...
 - AsyncActivity异步加载网页
			
import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; imp ...
 - 轻量级的内部测试过程r \\ u0026研发团队
			
对于一个r \\ u0026研发团队的目的,标准化的工作流程资产不可或缺的一部分,特别是对于初创的r \\ u0026研发团队方面.很多r \\ u0026研发管理是不够完整.如何理解的研发团队中的各 ...
 - uva 1401 dp+Trie
			
http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem& ...
 - 使用android SpannableStringBuilder实现图文混排,看到许多其他
			
项目开发需要达到这种效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmFuY3lsb3ZlamF2YQ==/font/5a6L5L2T/fontsiz ...
 - NET5实践:项目创建-结构概述-程序运行-发布部署
			
ASP.NET5实践01:项目创建-结构概述-程序运行-发布部署 1.项目创建 ASP.NET5项目模板有三种: 新建项目: 选择模板: 2.结构概述 References对应配置是project ...
 - 【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!
			
内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...
 - 基于OpenCV性别识别
			
叙述性说明 所谓的性别识别推断检测到的面部是男性还是女性.它是一个二值分类问题. 识别算法可以用于SVM,BP神经网络.LDA,PCA,PCA+LDA等等.OpenCV官网给出的文档是基于Fisher ...
 - Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation
			
聚合 和 分组聚合: PlayMorphia 它提供了基于开发人员models的友好接口 设想你定义了一个model.class Sales: @Entity public class Sales e ...
 - swift类名称显示变量
			
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: Aria ...