
GraphQL API渗透测试指南
Elasticsearch 是用于管理和分析数据的强大工具,它提供了一个 RESTful API,允许开发人员使用简单的 HTTP 请求与之交互。
这个API是根据具象状态传输(REST)原则构建的,因此它对于各种专业水平的开发人员来说都易于访问和理解。在本文中,我们将详细介绍如何通过 REST API 与 Elasticsearch 交互。
在我们执行通过 Elasticsearch 的 REST API 与 Elasticsearch 交互的示例之前,让我们先介绍一些基本概念:
当我们想要利用Elasticsearch完成某些任务,比如搜索信息或者添加新数据时,我们会通过发送请求来实现,这些请求包含了适当的HTTP方法(如GET、POST、PUT、DELETE)以及指明具体操作的URL。
以良好的方式理解与 Elasticsearch 交互。我们将考虑以下示例文档来执行操作和查询,以便更好地理解。
[
{
"_id": 1,
"name": "Elasticsearch Beginner's Guide",
"price": 29.99,
"category": "Books"
},
{
"_id": 2,
"name": "Learning Elasticsearch",
"price": 39.99,
"category": "Books"
},
{
"_id": 3,
"name": "Mastering Elasticsearch",
"price": 49.99,
"category": "Books"
},
{
"_id": 4,
"name": "Elasticsearch in Action",
"price": 34.99,
"category": "Books"
},
{
"_id": 5,
"name": "Advanced Elasticsearch Techniques",
"price": 44.99,
"category": "Books"
},
{
"_id": 6,
"name": "The Definitive Guide to Elasticsearch",
"price": 59.99,
"category": "Books"
}
]
假设我们必须向库中添加新书籍。
POST /products/_doc/1
{
"name": "Elasticsearch Beginner's Guide",
"price": 29.99,
"category": "Books"
}
响应:
{
"result": "created",
"_index": "products",
"_type": "_doc",
"_id": "1",
"_version": 1,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
使用 POST 方法将新工作簿的详细信息发送到 Elasticsearch,并指定文档的索引、类型和唯一 ID。
假设我们必须查找书库中标题为 “Elasticsearch” 的所有书籍。
GET /products/_search
{
"query": {
"match": {
"name": "Elasticsearch"
}
}
}
响应:
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 0.15342641,
"hits": [
{
"_index": "products",
"_type": "_doc",
"_id": "1",
"_score": 0.15342641,
"_source": {
"name": "Elasticsearch Beginner's Guide",
"price": 29.99,
"category": "Books"
}
}
]
}
}
使用 GET 方法在索引中搜索 “name” 字段与术语 “Elasticsearch” 匹配的文档。
假设我们必须更新图书馆中一本书的价格。
POST /products/_doc/1/_update
{
"doc": {
"price": 39.99
}
}
响应:
{
"_index": "products",
"_type": "_doc",
"_id": "1",
"_version": 2,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
通过指定书籍的ID和新价格,我们使用POST方法来更新书籍的价格。
假设我们必须从图书馆中删除一本书。
DELETE /products/_doc/1
响应:
{
"_index": "products",
"_type": "_doc",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}
使用 DELETE 方法通过指定文档的 ID 来删除文档。
总体而言,Elasticsearch REST API 提供了一种与 Elasticsearch 交互的简单有效的方法,使开发人员能够轻松管理数据。开发人员若掌握了索引、文档、查询和映射这些基本概念,就能充分发掘Elasticsearch在其项目中所蕴含的全部潜力。本指南通过定义索引、搜索、更新和删除文档等常见操作的示例,为使用 Elasticsearch 的 REST API 奠定了坚实的基础。
原文链接:https://www.geeksforgeeks.org/interacting-with-elasticsearch-via-rest-api/?ref=oin_asr4
GraphQL API渗透测试指南
Python + BaiduTransAPI :快速检索千篇英文文献(附源码)
什么是GPT-4?完整指南
掌握ChatGPT API集成的方便指南
node.js + express + docker + mysql + jwt 实现用户管理restful api
nodejs + mongodb 编写 restful 风格博客 api
表格插件wpDataTables-将 WordPress 表与 Google Sheets API 连接
手把手教你用Python和Flask创建REST API
使用 Django 和 Django REST 框架构建 RESTful API:实现 CRUD 操作