`
fenshen6046
  • 浏览: 52068 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

6搜索接口--3请求体

es 
阅读更多
使用url进行检索会有一定限制,即当条件多的或者复杂的话就不太适合。这种情况下可以把检索要求写在请求体内。(又由于部分开源对于get请求不支持请求体,可以使用post方式)

{
    "from": 0,
    "size": 10,
    "query": {
        "bool": {
            "must": [
                {
                    "bool": {
                        "should": [
                            {
                                "term": {
                                    "status": 2
                                }
                            },
                            {
                                "term": {
                                    "tier": 3
                                }
                            }
                        ]
                    }
                },
                {
                    "term": {
                        "media_id": 102050
                    }
                }
            ],
            "should": [
                {
                    "term": {
                        "actions": 3
                    }
                }
            ],
            "must_not": [
                {
                    "term": {
                        "duration": "304"
                    }
                }
            ],
            "filter": [
                {
                    "range": {
                        "duration": {
                            "gte": 20,
                            "lt": 309
                        }
                    }
                },
                {
                    "range": {
                        "approved_time": {
                            "lt": 1486531465338
                        }
                    }
                }
            ]
        }
    },
    "sort": [
        {
            "duration": {
                "order": "desc"
            }
        },
        {
            "created_time": {
                "order": "desc"
            }
        }
    ]
}

以上是总结

从0条开始,查看10条
GET /_search
{
    "from" : 0, "size" : 10,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}
排序,根据post_date进行升序
GET /my_index/my_type/_search
{
    "sort" : [
        { "post_date" : {"order" : "asc"}}
    ],
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

asc:升序
desc:降序
除此外,还可以根据复杂类型进行排序,不过需要对复杂类型定义需要排序的定义

字段过滤(即那些字段不展示,那些字段展示)
GET /_search
{
    "_source": "obj.*",
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

或者
GET /_search
{
    "_source": [ "obj1.*", "obj2.*" ],
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

或者
GET /_search
{
    "_source": {
        "includes": [ "obj1.*", "obj2.*" ],
        "excludes": [ "*.description" ]
    },
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}


搜索颜色为红色且品牌为gucci的数据
GET /shirts/_search
{
  "query": {
    "bool": {
      "filter": [
        { "term": { "color": "red"   }},
        { "term": { "brand": "gucci" }}
      ]
    }
  }
}


对上面的数据分组展示
GET /shirts/_search
{
  "query": {
    "bool": {
      "filter": [
        { "term": { "color": "red"   }},
        { "term": { "brand": "gucci" }}
      ]
    }
  },
  "aggs": {
    "models": {
      "terms": { "field": "model" } 
    }
  }
}

高亮content列
GET /_search
{
    "query" : {
        "match": { "content": "kimchy" }
    },
    "highlight" : {
        "fields" : {
            "content" : {}
        }
    }
}


解释分数如何计算
GET /_search
{
    "explain": true,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

当前文档的版本
GET /_search
{
    "version": true,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}


排除分数小于指定值
GET /_search
{
    "min_score": 0.5,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}




分享到:
评论

相关推荐

    postman 模仿post等http请求,接口测试

    - **编写测试脚本**:在每个接口请求下方,可以编写测试脚本来验证响应数据,确保接口功能正常。 - **环境配置**:设置环境变量,如API的基础URL、访问令牌等,以便在不同环境中快速切换。 - **运行测试**:可以...

    Postman-发送网页HTTP请求的Chrome插件

    3. 请求体:在"Body"部分,可以选择不同的数据格式(form-data、raw、binary等)来发送请求数据。 4. 发送请求:设置好所有参数后,点击"Send"按钮,Postman会向指定URL发送请求,并显示响应结果。 三、响应处理 1....

    gsd-open接口文档1

    - 请求体: `userid` (必填) - 用户ID, `mail` (必填) - 邮箱地址 - 响应示例: 返回`statu`为true,消息`msg`表示绑定邮箱成功 5. **删除邮箱绑定接口**: - URL: `...

    请求响应-请求-postman

    五、请求体(Request Body) 1. Form Data:适用于表单提交,如文件上传。 2. URL-encoded:用于键值对形式的数据传输,常见于POST请求。 3. Raw:可直接输入JSON、XML或其他格式的原始数据。 4. Binary:用于上传二...

    Postman调用接口工具

    - 集合是Postman中组织接口请求的方式,可以将相关的API请求整理在一起,便于管理和调用。 - 可以创建子集,进一步细化接口分类,比如按照功能模块划分。 - 支持导出和导入集合,方便在团队间分享和协作。 5. **...

    接口测试面试题.docx

    POST请求将参数放在请求体中。 #### 四、接口请求参数分析 接口请求参数分析主要包括以下几个方面: 1. **必填项与可选项**:确定哪些参数是必须提供的,哪些是可以省略的。 2. **参数合法性**:测试输入合法和...

    最好用的-Rest接口调试工具-chrome浏览器插件

    同时,可以设置请求头(Headers),添加查询参数(Query Parameters)或发送请求体(Request Body),以模拟不同的请求场景。 3. **查看响应**:点击“Send”按钮后,Postman会发送请求,并显示服务器返回的响应。...

    HTTP请求查看工具mac版

    2. **查看请求和响应细节**:对于每个请求,Charles可以展示详细的请求头、响应头、请求体和响应体内容,这对于调试API接口或网页加载问题非常有用。 3. **SSL代理**:Charles支持对HTTPS通信的解密,允许开发者...

    人人网接口可以登陆自己的程序

    - API请求通常需要在URL或请求体中附带访问令牌,确保请求的安全性。 3. 实现登录功能: - 在你的程序中,当用户点击“使用人人网登录”按钮时,启动OAuth 2.0授权流程。 - 用户授权后,程序可以使用获取到的...

    非常好用的模拟请求软件Httpdebug

    2. **模拟POST请求**:设置URL、HTTP方法为POST,添加请求头和请求体,提交数据到服务器。 3. **自定义请求头**:根据需要设置各种请求头,如Content-Type(例如,application/json或application/x-...

    http 接口测试工具

    数据包含在请求体中,不显示在URL上,但可能不被缓存或被搜索引擎记录。 3. **API测试**:API(应用程序编程接口)测试是针对API的直接调用和验证,确保它们能按照预期工作。测试通常包括验证响应时间、状态码、...

    Advanced-REST-client_v3.1.9.zip

    此外,可以添加自定义请求头,如Content-Type来指定请求体的格式,Authorization头用于身份验证等。 对于POST、PUT等需要提交数据的请求,ARC支持多种请求体格式,如JSON、XML、表单数据等。只需在请求体区域填写或...

    3.接口测试自动化.pdf

    这篇文档主要讲解了如何使用Python的Requests库进行HTTP接口的基本自动化测试,包括GET和POST等请求方法的使用、查询字符串和消息体的设置、响应状态码和消息体的获取,以及JSON值的解析。 首先,我们要掌握课程的...

    模仿发送Http的Get、Post请求

    POST方法则用于向服务器提交数据,如表单提交,请求参数包含在请求体中,适合传输大量或敏感数据。 1. GET请求: - 构造GET请求的关键在于将请求参数附加到URL上,形如:`...

    Postman网页调试与发送网页HTTP请求的Chrome插件

    对于POST和其他请求,可以使用表单数据、JSON或其他格式的数据来传递请求体。 2. **请求头管理**:Postman允许用户自定义请求头,这对于设置Content-Type、Authorization令牌或其他特定的头部信息至关重要。例如,...

    postmanrestful

    3. **接口测试与调试** - 查看响应:Postman会显示HTTP响应的状态码、头部信息和响应体,便于检查接口是否正常工作。 - 查看网络请求:在"Pre-request Script"和"Tests"部分可以编写自定义脚本,实现更复杂的测试...

    全面详细-接口自动化测试

    这包括了对GET、POST等请求方法的运用,设置查询字符串和消息体,获取响应状态码和响应内容,理解JSON值的处理,以及Python的unittest测试框架的应用。此外,还会涉及数据驱动测试的概念。 Requests库是Python中...

    网络接口测试工具postman.rar

    它可以将相关的接口请求组织在一起,形成一个测试套件,便于管理和执行。测试人员可以创建多个测试步骤,定义预请求脚本和测试脚本,实现自动化测试。预请求脚本通常用于设置环境变量或执行必要的前置操作,而测试...

    Apifox使用文档.docx

    - **文件上传**:使用特定格式放置于请求体中。 - **调试与保存**: - **调试**:创建成功后,可以直接在“运行界面”进行调试。 - **保存**:可以将调试结果保存到文档或作为用例。 #### 四、高级功能 ##### ...

Global site tag (gtag.js) - Google Analytics