当前位置: 首页 > wzjs >正文

网站改版 优化销帮帮crm怎么样

网站改版 优化,销帮帮crm怎么样,网站解析需要多长时间,2022年app拉新推广项目文档(一):新增 & 删除 1.文档的关键特性2.新增文档2.1 指定 ID 新增文档2.2 不指定 ID 新增文档2.3 指定索引批量插入数据2.4 批量执行多种操作2.5 关键说明 3.删除文档3.1 删除单个文档3.2 批量文档删除3.2.1 方法 1:使用 _b…

文档(一):新增 & 删除

  • 1.文档的关键特性
  • 2.新增文档
    • 2.1 指定 ID 新增文档
    • 2.2 不指定 ID 新增文档
    • 2.3 指定索引批量插入数据
    • 2.4 批量执行多种操作
    • 2.5 关键说明
  • 3.删除文档
    • 3.1 删除单个文档
    • 3.2 批量文档删除
      • 3.2.1 方法 1:使用 _bulk 删除多个指定 ID 的文档
      • 3.2.2 方法 2:使用 _delete_by_query 删除符合查询条件的文档
      • 3.2.3 关键区别
    • 3.3 最佳实践

在 Elasticsearch 中,文档Document)是 最小的可索引数据单元,也是信息存储和检索的基本单位。它是 Elasticsearch 的核心概念之一,类似于关系型数据库中的一行记录或 NoSQL 数据库中的一个 JSON 对象。

1.文档的关键特性

  • JSON 格式:文档是一个 JSON 对象,由键值对(字段和值)组成。例如:

    {"_index": "books",         // 所属索引"_id": "1",               // 文档ID"_source": {              // 文档原始内容"title": "Elasticsearch 指南","author": "John Doe","publish_date": "2023-10-01"}
    }
    
  • 唯一标识:每个文档有一个唯一的 _id(可自定义或由 Elasticsearch 自动生成),用于在索引中唯一标识该文档。

  • 归属于索引:文档必须存储在某个 索引Index)中(类似关系型数据库的 “”)。例如,一个书籍文档可能存储在 books 索引中。

  • 可扩展字段:文档的字段是动态的,无需预先定义结构(除非使用显式映射)。字段类型(如文本、数字、日期等)会自动推断或通过映射(Mapping)指定。

  • 支持嵌套和复杂结构:文档可以包含嵌套对象、数组等复杂结构。例如:

    {"user": {"name": "Alice","address": {"city": "Beijing","postcode": "100000"}}
    }
    

2.新增文档

2.1 指定 ID 新增文档

场景:明确指定文档的 _id(如书籍 ISBN 作为唯一标识)。

PUT /books/_doc/101  # 索引名: books, 文档ID: 101
{"title": "深入理解 Elasticsearch","author": "张三","price": 59.9,"publish_date": "2023-05-20"
}

在这里插入图片描述

2.2 不指定 ID 新增文档

场景:让 Elasticsearch 自动生成唯一 _id(如日志场景)。

POST /logs/_doc  # 索引名: logs, 不提供ID
{"level": "ERROR","message": "数据库连接超时","timestamp": "2023-10-25T14:30:00Z"
}

在这里插入图片描述

2.3 指定索引批量插入数据

场景:一次性插入多条文档到同一索引(如商品批量导入)。

POST /products/_bulk
{ "index": {} }  # 不指定ID,自动生成
{ "name": "无线鼠标", "price": 99, "category": "电子产品" }
{ "index": { "_id": "1001" } }  # 指定ID为1001
{ "name": "机械键盘", "price": 299, "category": "电子产品" }

在这里插入图片描述

2.4 批量执行多种操作

场景:混合插入、更新、删除操作(如订单系统数据处理)。

POST /orders/_bulk
{ "index": { "_id": "O20230999" } }  # 新增订单
{ "order_id": "O20230999", "amount": 1500, "status": "paid" }
{ "index": { "_id": "O20230998" } }  # 新增订单
{ "order_id": "O20230998", "amount": 1500, "status": "paid" }
POST /orders/_bulk
{ "index": { "_id": "O20231001" } }  # 新增订单
{ "order_id": "O20231001", "amount": 1500, "status": "paid" }
{ "update": { "_id": "O20230999" } }  # 更新订单状态
{ "doc": { "status": "shipped" } }
{ "delete": { "_id": "O20230998" } }  # 删除订单

在这里插入图片描述

2.5 关键说明

  • 批量操作(_bulk
    • 每两行为一个操作:首行声明动作(index / update / delete),次行为数据或参数。
    • 需确保 JSON 格式严格换行(末尾换行符不可省略)。
  • 自动生成 ID
    • 不指定 _id 时,Elasticsearch 会生成类似 x5F6Z4wB3Kp2YvE1 的唯一字符串。
  • HTTP 方法
    • 新增单条文档:PUT(指定 ID)或 POST(不指定 ID)。
    • 批量操作:POST /_bulk

实际应用中,建议使用 Elasticsearch 客户端(如 Python 的 elasticsearch-py)简化操作。

3.删除文档

3.1 删除单个文档

场景:删除指定 _id 的文档(例如删除某本书)。

DELETE /books/_doc/101  # 删除索引 `books` 中 `_id=101` 的文档

响应

{"_index": "books","_id": "101","_version": 2,  # 版本号递增"result": "deleted",  # 删除成功"_shards": {"total": 2,"successful": 2,"failed": 0}
}

说明

  • 如果文档不存在,返回 "result": "not_found"
  • 删除操作是 逻辑删除(文档不会立即从磁盘移除,而是在后续段合并时清理)。

3.2 批量文档删除

场景:批量删除符合特定条件的文档(例如删除所有 status="expired" 的订单)。

3.2.1 方法 1:使用 _bulk 删除多个指定 ID 的文档

POST /orders/_bulk
{ "delete": { "_id": "O20231001" } }  
{ "delete": { "_id": "O20231002" } }  
{ "delete": { "_id": "O20231003" } }  

响应

{"took": 10,"errors": false,"items": [{ "delete": { "_id": "O20231001", "status": 200 } },{ "delete": { "_id": "O20231002", "status": 200 } },{ "delete": { "_id": "O20231003", "status": 200 } }]
}

3.2.2 方法 2:使用 _delete_by_query 删除符合查询条件的文档

POST /orders/_delete_by_query
{"query": { "term": { "status": "expired" }  # 删除所有 status=expired 的文档}
}

响应

{"took": 100,"timed_out": false,"total": 5,  # 共删除5条"deleted": 5,"batches": 1
}

说明

  • _delete_by_query 适用于 按条件删除,但会触发索引刷新,可能影响性能。
  • 大数据量删除时,建议添加 "conflicts": "proceed" 参数(跳过冲突)和 "scroll_size": 1000(分批处理)。

3.2.3 关键区别

操作类型适用场景性能影响
单条删除(DELETE精确删除指定 _id 的文档低开销,但多次调用效率低
批量删除(_bulk删除多个已知 _id 的文档网络和 I/O 优化,高效
条件删除(_delete_by_query删除符合查询条件的文档触发查询和刷新,大数据量时较慢

3.3 最佳实践

  • 优先使用 _bulk:批量删除已知 ID 的文档时,_bulk 比单条删除快 10-100 倍。
  • 慎用 _delete_by_query:大数据量删除时,建议在低峰期执行,或使用 slices 并行化:
    POST /orders/_delete_by_query?conflicts=proceed&slices=5
    {"query": { "range": { "create_time": { "lte": "2023-01-01" } } }
    }
    
  • 强制物理删除:删除后执行 _forcemerge 清理磁盘空间:
    POST /orders/_forcemerge?only_expunge_deletes=true
    

文章转载自:

http://ZkF8V5L6.yLLtg.cn
http://WBH0YVtj.yLLtg.cn
http://Asvd8Kpd.yLLtg.cn
http://LTxrpLJE.yLLtg.cn
http://O9Dn8AWM.yLLtg.cn
http://uWFfYohy.yLLtg.cn
http://pkXoPQRL.yLLtg.cn
http://jA65zn0k.yLLtg.cn
http://be65tRje.yLLtg.cn
http://I23TCQ2B.yLLtg.cn
http://s9jelmBR.yLLtg.cn
http://YEIf9jUL.yLLtg.cn
http://GeES5VYg.yLLtg.cn
http://fOlH1SEJ.yLLtg.cn
http://Iuyk89BD.yLLtg.cn
http://7ga27LOx.yLLtg.cn
http://a8cpIVrg.yLLtg.cn
http://nPt4pS56.yLLtg.cn
http://g16sQFfl.yLLtg.cn
http://cs3N7LGH.yLLtg.cn
http://7drwttoi.yLLtg.cn
http://1blmlYAV.yLLtg.cn
http://t7bPSW9t.yLLtg.cn
http://ToPtCiHi.yLLtg.cn
http://r4CpF7Nf.yLLtg.cn
http://UIaQIrJK.yLLtg.cn
http://rIHKSybW.yLLtg.cn
http://Fkk5eWM9.yLLtg.cn
http://MYhvDFIf.yLLtg.cn
http://Of1tdupV.yLLtg.cn
http://www.dtcms.com/wzjs/659118.html

相关文章:

  • 网站怎么做背景如何做网站内部优化
  • 怎么自己写代码做网站沧州网络运营中心电话
  • 谁有网站备案号彩页设计模板免费
  • 物流运输做网站的素材网站开发技术路线
  • 网站建设开发设计营销公司厦门保定网站维护公司
  • 营销型网站建设市场wordpress add post meta
  • 网站建设中搜索引擎的作用wordpress统计
  • 吴江网站优化手机免费建立网站吗
  • 深圳营销网站建设服务东莞保安公司哪家好
  • 视频素材网站大全免费建设网站平台合同范本
  • 哪个网站学习做辅助白色网站配色
  • 短租网站开发撰写网站建设策划书范文
  • 广州联雅网络科技有限公司上海seo关键字推广
  • 机械加工网站哪里找wordpress 顶部分类
  • 网站默认数据库地址好用的手机网站主页
  • 一个做网页的网站宁波网站开发建设
  • 平台网站制作公司wordpress 回复后查看
  • 中国工程建设标准化协会官方网站房地产开发公司网站源代码 墨绿色风格
  • 受欢迎的菏泽网站建设上海开本建设工程有限公司
  • 网站不备案可以做微信小程序么南京外贸网站建设公司
  • p2p网站建设 上海公司软文
  • 网站建设 橙做棋牌游戏网站犯法吗
  • 哪个网站可以做免费商业推广wordpress去掉评论框
  • 山东住房和城乡建设厅网站主页织梦做的的网站首页显示空白
  • 设计logo网站赚钱众创空间那个网站做的好
  • 娄底建设局网站企业网站如何上存
  • 湖南长沙招聘信息最新招聘2022上海网站seo策划
  • 网站开发需求方案微软公司做网站的软件
  • 哪个网站可以做专业兼职做微信的微网站费用多少
  • 网站特色友情链接外链