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

久久文化传媒有限公司在哪里单页网站怎么优化

久久文化传媒有限公司在哪里,单页网站怎么优化,移动端网页设计规范,wordpress中文版主题百度网盘一、文档的基本概念 文档是什么? 文档是 Elasticsearch 中存储数据的基本单元,格式为 JSON。每个文档包含多个字段(Field),字段可以是各种数据类型,如文本、数字、日期等。文档存储在索引中,索…

一、文档的基本概念

  • 文档是什么?
    • 文档是 Elasticsearch 中存储数据的基本单元,格式为 JSON。
    • 每个文档包含多个字段(Field),字段可以是各种数据类型,如文本、数字、日期等。
    • 文档存储在索引中,索引是文档的集合。
  • 文档的唯一标识
    • 每个文档都有一个唯一的文档 ID,用于标识该文档。
    • 文档 ID 可以由用户指定,也可以由 Elasticsearch 自动生成。
  • 文档的结构
    • 文档是一个 JSON 对象,包含多个键值对(Key-Value Pairs)。
    • 示例:
      {"_index": "my_index","_type": "_doc","_id": "1","_version": 1,"_score": 1.0,"_source": {"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "Elasticsearch is a distributed, RESTful search and analytics engine."}
      }
      

二、文档的组成部分

  • 字段(Field)
    • 字段是文档中的基本数据单元,类似于关系型数据库中的“列”。
    • 每个字段有一个名称和一个值,值可以是各种数据类型。
    • 常见的字段类型:
      • text:全文搜索字段,支持分词。
      • keyword:精确匹配字段,不支持分词。
      • date:日期字段。
      • long, integer, short, byte, double, float:数值类型字段。
      • boolean:布尔类型字段。
      • object:嵌套对象字段。
      • nested:嵌套类型字段(用于数组中的对象)。
  • 元数据字段(Metadata Fields)
    • Elasticsearch 为每个文档自动添加一些元数据字段,用于管理文档。
    • 常见的元数据字段:
      • _index:文档所属的索引名称。
      • _type:文档的类型(在 Elasticsearch 7.x 及以后版本中,默认为 _doc)。
      • _id:文档的唯一标识符。
      • _version:文档的版本号,用于乐观并发控制。
      • _source:文档的原始 JSON 数据。

三、文档的操作

  1. 索引文档

    • 使用 POST 或 PUT 请求向索引中添加文档。
      • 如果指定文档 ID,使用 PUT 请求:
        PUT /my_index/_doc/1
        {"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "Elasticsearch is a distributed, RESTful search and analytics engine."
        }
        
      • 如果不指定文档 ID,使用 POST 请求,Elasticsearch 会自动生成文档 ID:
        POST /my_index/_doc/
        {"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "Elasticsearch is a distributed, RESTful search and analytics engine."
        }
        
  2. 查询文档

    • 使用 GET 请求根据文档 ID 查询文档:
      GET /my_index/_doc/1
      
    • 使用查询 DSL 搜索文档:
      GET /my_index/_search
      {"query": {"match": {"title": "Elasticsearch"}}
      }
      
  3. 更新文档

    • 使用 POST 或 PUT 请求更新文档:
      • 部分更新:
        部分更新使用POST,只会修改对应字段的值。
        POST /my_index/_update/1
        {"doc": {"content": "Elasticsearch is a powerful search and analytics engine."}
        }
        
      • 全量更新:
        全量更新使用PUT,会先删除旧文档,再添加新文档。如果旧文档不存在,则直接添加新文档。
        PUT /my_index/_doc/1
        {"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "Elasticsearch is a powerful search and analytics engine."
        }
        
  4. 删除文档

    • 使用 DELETE 请求删除文档:
      DELETE /my_index/_doc/1
      
  5. 批量操作

    • Elasticsearch 提供了批量 API,可以一次性执行多个索引、更新、删除操作。
      POST /_bulk
      { "index" : { "_index" : "my_index", "_id" : "1" } }
      { "title": "Elasticsearch Guide", "author": "John Doe" }
      { "delete" : { "_index" : "my_index", "_id" : "2" } }
      { "update" : { "_index" : "my_index", "_id" : "3" } }
      { "doc" : { "content": "Updated content" } }
      

四、文档的版本控制

Elasticsearch 使用版本号(_version)来实现乐观并发控制。每次更新文档时,版本号会自动递增。可以通过指定版本号来确保更新操作的安全性。

  • 版本号(_version)
    • 每个文档都有一个版本号,用于乐观并发控制。
    • 当文档被更新时,版本号会自动递增。
    • 可以通过指定版本号来确保文档的更新操作是基于最新版本。
  • 乐观并发控制
    • 在更新文档时,可以指定版本号以确保操作的原子性。
    • 示例:
      PUT /my_index/_doc/1?version=2
      {"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "Updated content with version control."
      }
      

五、文档的存储和检索

  1. _source 字段
    • _source 字段存储文档的原始 JSON 数据。
    • 在查询文档时,默认会返回 _source 字段。
    • 可以通过设置 _source 参数来控制返回的字段:
    GET /my_index/_doc/1?_source=title,date
    
  2. 存储字段(Stored Fields)
    • 除了 _source 字段,Elasticsearch 还可以将某些字段单独存储,以便快速检索。
    • 在映射中定义字段时,可以设置 store 参数:
      "mappings": {
      "properties": {"title": {"type": "text","store": true}}
      }
      

六、文档的动态映射

  • Elasticsearch 支持动态映射,即在索引文档时自动推断字段类型。
  • 可以通过设置 dynamic 参数来控制动态映射的行为:
    • true:自动添加新字段(默认)。
    • false:忽略新字段。
    • strict:遇到未定义的字段时抛出异常。
  • 示例:
    "mappings": {"dynamic": "strict","properties": {"title": { "type": "text" }}
    }
    

七、文档的路由

在分布式环境中,Elasticsearch 使用路由(Routing)来确定文档存储在哪个分片上。默认情况下,路由值等于文档 ID,但可以自定义路由值以优化查询性能。

PUT /my_index/_doc/1?routing=user123
{"title": "Elasticsearch Guide","author": "John Doe","published_date": "2023-10-01","content": "This document is routed using a custom value."
}

八、文档的生命周期管理

Elasticsearch 中的文档生命周期管理(Document Lifecycle Management)是指对文档从创建到删除的整个生命周期进行管理和优化的过程。随着数据量的增长和业务需求的变化,文档的生命周期管理变得尤为重要。Elasticsearch 提供了多种工具和功能来帮助用户有效地管理文档的生命周期,包括索引生命周期管理(ILM)、快照和恢复、以及数据保留策略等。

8.1 索引生命周期管理(Index Lifecycle Management, ILM)

索引生命周期管理(ILM)是 Elasticsearch 提供的一种自动化管理索引生命周期的功能。ILM 允许用户定义索引在不同阶段(如热、温、冷、删除)的策略,并自动执行这些策略。ILM 的主要目标是优化存储和查询性能,同时降低存储成本。

  1. ILM 的主要阶段
    ILM 将索引的生命周期分为四个主要阶段:
    • Hot(热阶段):索引处于活跃状态,频繁写入和查询。通常使用高性能的硬件来支持高吞吐量和低延迟。
    • Warm(温阶段):索引不再频繁写入,但仍需要支持查询。通常使用较低性能的硬件来降低成本。
    • Cold(冷阶段):索引很少被查询,主要用于归档。通常使用低成本存储介质。
    • Delete(删除阶段):索引不再需要,可以安全删除。
  2. ILM 策略配置
    ILM 策略定义了索引在不同阶段的行为和转换条件。用户可以通过 Kibana 或 Elasticsearch API 来创建和管理 ILM 策略。
    • 示例:
    PUT _ilm/policy/my_policy
    {"policy": {"phases": {"hot": {"min_age": "0ms","actions": {"rollover": {"max_size": "50gb","max_age": "30d"},"set_priority": {"priority": 100}}},"warm": {"min_age": "30d","actions": {"forcemerge": {"max_num_segments": 1},"shrink": {"number_of_shards": 1},"allocate": {"number_of_replicas": 1},"set_priority": {"priority": 50}}},"cold": {"min_age": "60d","actions": {"allocate": {"require": {"data": "cold"}}}},"delete": {"min_age": "90d","actions": {"delete": {}}}}}
    }
    
  3. ILM 策略应用
    创建 ILM 策略后,可以将其应用到索引模板或现有索引上。
    • 应用到索引模板:
      PUT _template/my_template
      {"index_patterns": ["my_index-*"],"settings": {"index.lifecycle.name": "my_policy","index.lifecycle.rollover_alias": "my_index"}
      }
      
    • 应用到现有索引:
      PUT my_index-000001/_settings
      {"index.lifecycle.name": "my_policy","index.lifecycle.rollover_alias": "my_index"
      }
      
8.2 快照和恢复(Snapshot and Restore)

快照和恢复功能允许用户创建索引的快照,并将其存储在远程仓库中。快照可以用于备份和恢复数据,以及在灾难恢复时使用。

  1. 创建快照仓库
    首先需要创建一个快照仓库,用于存储快照。
    PUT _snapshot/my_backup
    {"type": "fs","settings": {"location": "/mnt/backups/my_backup"}
    }
    
  2. 创建快照
    可以使用以下命令创建索引的快照。
    PUT _snapshot/my_backup/snapshot_1
    {"indices": "my_index-*","ignore_unavailable": true,"include_global_state": false
    }
    
  3. 恢复快照
    可以使用以下命令从快照中恢复索引。
    POST _snapshot/my_backup/snapshot_1/_restore
    {"indices": "my_index-*","ignore_unavailable": true,"include_global_state": false
    }
    
8.3 数据保留策略

数据保留策略是指根据业务需求和数据重要性,确定数据的存储期限和删除时间。Elasticsearch 提供了多种方式来实现数据保留策略,包括使用 ILM 的删除阶段、定时任务(Curator)等。

  1. 使用 ILM 删除阶段
    在 ILM 策略中,可以配置删除阶段来自动删除旧索引。
    "delete": {"min_age": "90d","actions": {"delete": {}}
    }
    
  2. 使用 Curator
    Elasticsearch Curator 是一个命令行工具,用于管理索引和快照。可以使用 Curator 来定义和执行数据保留策略。
    actions:1:action: delete_indicesdescription: "Delete indices older than 90 days"options:ignore_empty_list: Truetimeout_override:continue_if_exception: Falsedisable_action: Falsefilters:- filtertype: patternkind: prefixvalue: my_index-- filtertype: agesource: creation_datedirection: olderunit: daysunit_count: 90```
    
http://www.dtcms.com/wzjs/363423.html

相关文章:

  • 如何做网站的网页qq代刷网站推广
  • 左侧伸缩隐藏菜单时尚flash网站郑州seo技术外包
  • 衡水做网站公司如何创建网址
  • 什么网站做批发最便宜seo快速排名软件方案
  • 什么网站可以在图上做日历百度服务电话在线人工
  • 个人网站建设制作新东方在线网上课程
  • 全国电子网站建设拉新人拿奖励的app
  • 浙江网站建设平台石家庄seo推广优化
  • 做网站的模版最近的重大新闻
  • 国外营销型网站网络游戏推广
  • 吴江做网站公司流量推广app
  • 产地证是在哪个网站上做东莞百度推广排名
  • 网站如何链接备案系统如何写推广软文
  • html仿百度页面代码网站优化公司推荐
  • 微商城网站制作营销方案案例范文
  • wap卖料建站系统nba最新比赛直播
  • 网站建设与信息安全培训小结江苏营销型网站建设
  • 长沙简单的网站建设属于网络营销特点的是
  • 大连企业网站模板建站网络营销岗位有哪些
  • 四川住房和城乡建设局网站首页搜狐综合小时报2022113011
  • 嘉兴建站服务今日nba数据帝
  • 免费搭建购物网站网络seo推广培训
  • 南宁百度seoseo关键词推广方式
  • 做网站销售 优帮云金昌网站seo
  • 中国设计网站推荐百度seo手机
  • 如何做外贸网络推广如何快速优化网站排名
  • 注册公司需要提供的资料及公司注册流程网站seo价格
  • 怎样做自己的 优惠卷网站网站设计公司网站制作
  • 做的网站名外贸网站免费推广b2b
  • 免费自助建站网站建设免费信息发布引擎搜索优化