es基本配置文件详解

2023-10-27

基本概念
近实时(Near Realtime[NRT])
Elasticsearch是一个接近实时的搜索平台。这意味着从索引文档的时间到可搜索的时间之间存在轻微的延迟(通常为一秒)。

集群(Cluster)
集群是一个或多个节点(服务器)的集合,它们一起保存整个数据,并提供跨所有节点的联合索引和搜索功能。集群由默认名称为“elasticsearch”的唯一名称标识。此名称很重要,因为如果节点设置为通过名称加入群集,则节点只能成为群集的一部分。

确保不要在不同的环境中重复使用相同的群集名称,否则可能会导致节点加入错误的群集。例如,您可以使用logging-dev,logging-stage以及logging-prod 开发,分段和生产集群。

请注意,有一个只有一个节点的集群是完全正确的。此外,您还可能拥有多个独立的集群,每个集群都有自己的唯一集群名称。

节点(Node)
节点是属于集群一部分的单个服务器,存储数据并参与集群的索引和搜索功能。就像一个集群一样,一个节点由一个名称来标识,默认情况下该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。如果您不需要默认值,您可以定义任何您想要的节点名称。此名称对于管理目的非常重要,您需要确定网络中的哪些服务器与Elasticsearch群集中的哪些节点相对应。

可以将节点配置为按集群名称加入特定集群。默认情况下,每个节点都设置为加入一个名为的群集elasticsearch,这意味着如果启动网络中的多个节点并假设它们可以互相发现,它们将自动形成并加入一个名为的群集elasticsearch。

在单个群集中,您可以拥有任意数量的节点。此外,如果网络上当前没有其他Elasticsearch节点正在运行,则默认情况下启动单个节点将形成名为的新单节点群集elasticsearch。

索引(Index)
索引是一些具有相似特征的文档集合。例如,您可以拥有客户数据的索引,产品目录的索引以及订单数据的索引。索引由名称(必须全部为小写)标识,并且此名称用于在对其中的文档执行索引,搜索,更新和删除操作时引用索引。

在单个群集中,您可以根据需要定义多个索引。

类型(Type)
警告
在6.0.0中已弃用。

一个类型是你的索引中的一个分类或者说是一个分区,它可以让你在同一索引中存储不同类型的文档,例如,为用户建一个类型,为博客文章建另一个类型。现在已不可能在同一个索引中创建多个类型,并且整个类型的概念将会在未来的版本中移除,请参阅移除映射类型。

文档(Document)
文档是可被索引的基本单元。例如,您可以为单个客户提供文档,为单个产品提供一个文档,为单个订单提供另一个文档。本文档以JSON(JavaScript Object Notation)表示,它是一种无处不在的互联网数据交换格式。

在索引/类型中,您可以根据需要存储任意数量的文档。请注意,尽管文档实际上驻留在索引中,但实际上文档必须被索引/分配给索引内的类型。

分片和复制(Shards&Replicas)
我们在一个索引里存储的数据,潜在的情况下可能会超过单节点硬件的存储限制。例如,单个索引有上千万个文档需要占用1TB的硬盘存储空间,但是一台机器的硬盘可能没有这么大,或者是即便有这么大,但是单个节点在提供搜索服务时会响应缓慢。
为了解决这个问题,Elasticsearch提供了分片的能力,它可以将你的索引细分成多个部分。当你创建一个索引的时候,你可以简单的定义你想要的分片的数量。每个分片本身是一个全功能的完全独立的“索引”,它可以部署在集群中的任何节点上。

分片很重要,主要有两个原因:
允许你水平分割/扩展你的内容容量
允许你在分片(位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量 
至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由Elasticsearch管理的,对于作为用户的你来说,这些都是透明的。

在一个网络/云的环境里,故障随时都可能发生。在某个分片/节点因为某些原因处于离线状态或者消失的情况下,故障转移机制是非常有用且强烈推荐的。为此, Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。

复制很重要,主要有两个原因:
高可用。它提供了高可用来以防分片或节点宕机。为此,一个非常重要的注意点是绝对不要将一个分片的拷贝放在跟这个分片相同的机器上。
高并发。它允许你的分片可以提供超出自身吞吐量的搜索服务,搜索行为可以在分片所有的拷贝中并行执行。

总而言之,每个索引可以分成多个分片。索引也可以被复制为零(意味着没有副本)或更多次。一旦复制,每个索引将具有主分片(从中复制的原始分片)和副本分片(主分片的副本)。在创建索引时,可以为每个索引定义分片和副本的数量。在创建索引之后,您可以随时更改动态副本的数量,但您无法在事后更改碎片的数量。

默认情况下,Elasticsearch中的每个索引都分配了5个主分片和1个副本,这意味着如果您的集群中至少有两个节点,则索引将包含5个主分片和另外5个副本分片(1个完整副本),总共每个索引10个碎片。

elasticsearch.yml
官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules.html
################################### Cluster ################################### 
# 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的. 
# es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。 
# cluster.name可以确定你的集群名称,当你的elasticsearch集群在同一个网段中elasticsearch会自动的找到具有相同cluster.name的elasticsearch服务. 
# 所以当同一个网段具有多个elasticsearch集群时cluster.name就成为同一个集群的标识. 
# cluster.name: es6.2 

#################################### Node ##################################### 
# 节点名称同理,可自动生成也可手动配置. 
# node.name: node-1

# 允许一个节点是否可以成为一个master节点,es是默认集群中的第一台机器为master,如果这台机器停止就会重新选举master. 任何主节点的节点(默认情况下所有节点)都可以被主选举过程选为主节点。
# node.master: true 

# 允许该节点存储数据(默认开启) 
# node.data: true 
# 注意:主节点必须有权访问该data/目录(就像data节点一样 ),因为这是集群状态在节点重新启动之间持续存在的位置。

# 允许该节点为摄取节点(默认开启) 
# node.ingest:true
# 配置为true将主节点和数据节点标记为“是有意义的”

# 开启跨群集搜索(默认启用)
# search.remote.connect:true

# 配置文件中给出了三种配置高性能集群拓扑结构的模式,如下: 
# 1. 如果你想让节点从不选举为主节点,只用来存储数据,可作为数据节点 
# node.master: true 
# node.data: false
# node.ingest: true

# 2. 如果想让节点成为主节点,且不存储任何数据,并保有空闲资源,可作为协调器 
# node.master:true 
# node.data:false 
# node.ingest:false 

# 3. 如果想让节点既不称为主节点,又不成为数据节点,那么可将他作为摄取节点,从节点中获取数据,生成搜索结果等 
# node.master: false 
# node.data: false 
# node.ingest: true

# 4. 仅作为协调器 
# node.master: false 
# node.data: false
# node.ingest: false

#################################### Paths #################################### 
# 数据存储位置(单个目录设置) 
# path.data: /var/data/elasticsearch
#path.data应将该设置配置为在Elasticsearch主目录之外定位数据目录,以便在不删除数据的情况下删除主目录!

# 日志文件的路径 
# path.logs: /var/log/elasticsearch 

#################################### 网络设置 #################################### 
# 节点将绑定到此主机名或IP地址
# network.host: 127.0.0.1

# 绑定到传入HTTP请求的端口
# http.port: 9200 
# 接受单个值或范围。如果指定了范围,则节点将绑定到范围中的第一个可用端口。默认为9200-9300

#################################### TCP传输 #################################### 
# 端口绑定节点之间的通信。
# transport.tcp.port: 9300
# 接受单个值或范围。如果指定了范围,则节点将绑定到范围中的第一个可用端口。默认为9300-9400

# transport.publish_port: 9300
# 与此节点通信时,群集中其他节点应使用的端口。当群集节点位于代理或防火墙之后并且transport.tcp.port不能从外部直接寻址时很有用。默认为通过分配的实际端口 transport.tcp.port

# transport.bind_host: 127.0.0.1
# 将传输服务绑定到的主机地址。默认为transport.host(如果设置)或network.bind_host

# transport.publish_host: 127.0.0.1 
# 发布集群中要连接到的节点的主机地址。默认为transport.host(如果设置)或network.publish_host

# transport.host: 127.0.0.1 
# 用于设置transport.bind_host和transport.publish_host默认为transport.host或network.host

# transport.tcp.connect_timeout: 30s
# 套接字连接超时设置(以时间设置格式)。默认为30s

# transport.tcp.compress: false
# 设置是否压缩tcp传输时的数据,默认为false,不压缩。

# transport.ping_schedule: 5s
# 安排常规ping消息以确保连接保持活动状态。默认为5s在传输客户端和-1(禁用)

#################################### 高级网络设置 #################################### 
#该network.host设置中的说明通常使用的网络设置 是快捷方式设定所述绑定的主机和发布主机在同一时间。在高级用例中,例如在代理服务器后运行时,可能需要将这些设置设置为不同的值:
# 绑定到哪个网络接口以侦听传入请求
# network.bind_host: 127.0.0.1
# 点可以绑定到多个接口,例如两个网卡,或站点本地地址和本地地址。默认为 network.host。

# network.publish_host: 127.0.0.1
# 发布主机是节点通告集群中其他节点的单个接口,以便这些节点可以连接到它。目前,Elasticsearch节点可能会绑定到多个地址,但只发布一个。如果未指定,则默认为“最佳”地址network.host,按IPv4 / IPv6堆栈首选项排序,然后按可访问性排序。如果您将其设置为 network.host多个绑定地址,但依赖于特定地址进行节点间通信,则应该明确设置 network.publish_host。transport.tcp.port

#################################### 高级TCP设置 #################################### 
# 任何使用TCP的组件(如HTTP和 传输模块)都共享以下设置:
# network.tcp.no_delay: true
# 启用或禁用TCP无延迟 设置。默认为true。

# network.tcp.keep_alive: true
# 启用或禁用TCP保持活动状态。默认为true。

# network.tcp.reuse_address: true
# 地址是否应该重复使用。默认为true在非Windows机器上。

# network.tcp.send_buffer_size
# TCP发送缓冲区的大小(以大小单位指定)。默认情况下不明确设置。

# network.tcp.receive_buffer_size
# TCP接收缓冲区的大小(以大小单位指定)。默认情况下不明确设置。

################################### Memory #################################### 
# bootstrap.memory_lock: true
# 设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap

###################### 使用head等插件监控集群信息,需要打开以下配置项 ###########
# http.cors.enabled: true
# http.cors.allow-origin: "*"
# http.cors.allow-credentials: true

################################### Gateway ###################################
# 以下静态设置(必须在每个主节点上设置)控制刚刚选择的主服务器在尝试恢复群集状态和群集数据之前应等待的时间,修改后需要重启生效
# gateway.expected_nodes: 0
# 预计在集群中的(数据或主节点)数量。只要预期的节点数加入群集,恢复本地碎片就会开始。默认为0

# gateway.expected_master_nodes: 0
# 预计将在群集中的主节点的数量。一旦预期的主节点数加入群集,就会立即开始恢复本地碎片。默认为0

# gateway.expected_data_nodes: 0
# 预计将在群集中的数据节点的数量。只要预期数量的节点加入群集,就会开始恢复本地碎片。默认为0

# gateway.recover_after_time: 5m
# 设置初始化恢复过程的超时时间,超时时间从上一个配置中配置的N个节点启动后算起。默认为5m

################################## Discovery ##################################
#### 该配置十分重要,没有正确配置,可能无法构成集群
# 这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测
# discovery.zen.ping.unicast.hosts: ["host1:port", "host2:port", "host3:port"]
# 默认为["127.0.0.1", "[::1]"]

# discovery.zen.ping.unicast.hosts.resolve_timeout: 5s
# 在每轮ping中等待DNS查找的时间量。指定为 时间单位。默认为5秒

# discovery.zen.ping_timeout: 3s
# 确定节点将多久决定开始选举或加入现有的群集之前等待,默认3s

# discovery.zen.join_timeout: 
# 一旦一个节点决定加入一个现有的已形成的集群,它将发送一个加入请求给主设备,默认值是ping超时的20倍。

# discovery.zen.minimum_master_nodes: 2
# 为防止数据丢失,配置discovery.zen.minimum_master_nodes设置(默认设置1)至关重要, 以便每个符合主节点的节点都知道 为了形成群集而必须可见的主节点的最小数量。
为了解释,假设您有一个由两个主节点组成的集群。网络故障会中断这两个节点之间的通信。每个节点都会看到一个主节点的节点......本身。随着minimum_master_nodes设置为默认1,这是足以形成一个集群。每个节点将自己选为新的主人(认为另一个主人资格的节点已经死亡),结果是两个集群,或者是一个分裂的大脑。直到一个节点重新启动后,这两个节点才会重新加入。任何已写入重新启动节点的数据都将丢失。
现在想象一下,您有一个具有三个主节点资格的节点的集群,并 minimum_master_nodes设置为2。如果网络拆分将一个节点与其他两个节点分开,则具有一个节点的一侧不能看到足够的主节点,并且会意识到它不能将自己选为主节点。具有两个节点的一侧将选择一个新的主控(如果需要)并继续正常工作。一旦网络拆分解决,单个节点将重新加入群集并再次开始提供服务请求。
该设置应该设置为符合主数据节点的法定数量:
(master_eligible_nodes / 2)+ 1
换句话说,如果有三个符合条件的节点,则最小主节点应设置为(3 / 2) + 1或2
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

es基本配置文件详解 的相关文章

  • 弹性搜索文档计数

    我正在运行 2 2 版本的 Elastic 搜索 我已经创建了索引并加载了示例文档 我发现其中有些问题 当我给予 GET index type count 我得到了正确的答案 count 9998 shards total 5 succes
  • 如何使用ElasticSearch来实现社交搜索?

    我正在尝试使用 ElasticSearch 创建具有社交功能的商业搜索 我有一个企业目录 用户可以通过不同的方式与这些企业进行交互 通过查看它们 检查它们等 当用户搜索商家时 我希望能够在结果顶部向他们显示他们的朋友与之互动过的商家 或根据
  • Elasticsearch 关于“空索引”的查询

    在我的应用程序中 我使用了几个elasticsearch索引 它们在初始状态下不包含索引文档 我认为这可以称为 空 该文档的映射是正确且有效的 该应用程序还有一个包含实体的关系数据库 这些实体可能具有在 elasticsearch 中关联的
  • 如何增加vm.max_map_count?

    我正在尝试在 Ubuntu EC2 计算机 t2 medium 中运行弹性搜索 但我收到消息 最大虚拟内存区域 vm max map count 65530 太低 至少增加到 262144 我怎样才能增加vm max map count v
  • Elasticsearch Nest 通配符查询(带空格)

    简洁版本 我想使用 Nest 编写一个弹性搜索查询来获取完整的索引项 ContentIndexables在我的例子中作为我的自定义类型 已被索引 该查询受 some string 术语查询的约束 即 String StartsWith 其中
  • Elastic Search 索引经常被删除[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 google cloud 上对个人项目运行弹性搜索 并将其用作我的应用程序的搜索索引 从最近三天开始 索引就被神秘地删除了 我不知
  • ElasticSearch - 尝试在 Windows 上启动服务时出错

    昨天 我在 Windows Server 2012 R2 上完成了 ElasticSearch 的安装 并且能够正常启动 ElasticSearch 服务 今天 我安装了 Kibana 和 X Pack 但在尝试启动 ElasticSear
  • 用于全文搜索和 2 亿多条记录的数据库

    我即将创建一个包含至少 2 亿个条目的庞大数据库 数据库需要可使用全文进行搜索 并且速度应该很快 我的数据库从许多不同的数据源获取数据 我需要定期导入新的或更新的数据 将我的所有数据存储在像 mysql 这样的关系数据库中 然后创建一个 n
  • Elasticsearch 无法获取颁发者证书

    我正在尝试使用 LetsEncrypt 加密 tls 证书 但我的服务器页面显示 Kibana server is not ready yet 这是错误 etc kibana kibana yml type log timestamp 20
  • ElasticSearch bool should_not 过滤器

    我是elasticsearch的新手 所以我的问题是 bool 过滤器有 3 个部分 must All of these clauses must match The equivalent of AND must not All of th
  • 在 ElasticSearch 中,我应该对单独但相关的实体使用多个索引吗?

    添加索引的开销有详细记录 但我无法找到有关何时针对要建立索引的各种文档类型使用多个索引的良好信息 这是一个说明问题的通用示例 假设我们有以下实体 产品 名称 产品 ID 产品类别 ID 商店列表 产品类别 名称 ProductCategor
  • 脚本参数不支持 ElasticSearch v7.3 更新脚本中的 START_ARRAY 类型的值

    我正在尝试更新索引文档 但通过 Postman 更新 API 脚本时出现以下错误 error root cause type x content parse exception reason 5 15 script params doesn
  • Elasticsearch 中的别名数量(全局和/或每个索引)是否有限制?

    我开始为我的项目研究elasticsearch 具体来说是1 5版本 我正在考虑使用别名将客户端应用程序从复杂的索引设置中抽象出来 我最终可能会得到 20 到 50 个索引 每个索引有 10 到 30 个别名 这将达到 1500 个别名 我
  • 如何将停用词添加到 ElasticSearch 中的默认列表

    我想在默认值中添加更多单词 english 停止 例如 inc incorporated ltd 和 limited 我怎样才能实现这一目标 我当前创建索引的代码如下 谢谢 PUT my index settings analysis fi
  • Elasticquent(ElasticSearch) Laravel 限制

    您好 我尝试使用 elasticSearch 查询获取所有结果 但如果 limit 值为 null 则仅返回 10 个结果 videos Video searchByQuery match gt field gt request gt fi
  • Elasticsearch NodeBuilder 与 TransportClient

    对于其他 Elasticsearch 开发人员来说 这可能是一个非常简单 而且愚蠢 的问题 这两者之间有什么区别 我正在从 Java Web 应用程序连接到远程 Elasticsearch 服务器 到目前为止我一直在使用 Transport
  • Elasticsearch GET API 获取分片大小

    在 Elasticsearch 2 3 3 中 有没有办法使用返回 JSON 的 GET API 获取分片大小 目前我找到了以下几种获取shard size的方法 这两种方法都存在问题 recovery gt 使用 JSON 进行响应并提供
  • ElasticSearch - 定义自定义字母顺序进行排序

    我正在使用 ElasticSearch 2 4 2 通过 Java 的 HibernateSearch 5 7 1 Final 我在字符串排序方面遇到问题 我的应用程序的语言有变音符号 它们有特定的字母顺序 订购 例如 直接在之后L 追随O
  • 如何在 ElasticSearch 中获取带有计数的百分位数

    我们正在尝试生成百分位数弹性搜索 https www elastic co products elasticsearch using 百分位数聚合 https www elastic co guide en elasticsearch re
  • Spring Data elasticsearch @Query 注解嵌套对象

    我有两节课 Document public class PracticeQuestion private int userId private List

随机推荐

  • server2008 服务器文件共享加密,使用secWall端口加密控制Server2016的文件共享服务...

    使用secWall端口加密控制Server2016的文件共享服务 万华数据 环境 文件服务器 Windows Server 2016 2012 2008 客户端 所有支持的系统 目标 通过在服务器端设置secWall端口加密 让没有正常登录
  • http协议与Apache

    1 http协议 0 监听 扩展 yum install nc 双端安装 nc l 80 服务器监听80端口 nc 192 168 64 100 80 客户端访问80端口 1 http概念 互联网 是网络的网络 是所有类型网络的母集 因特网
  • 喜讯!AntDB数据库入围上海信创公共服务平台产品目录

    近日 AntDB数据库完成信息技术应用创新产品适配 成功入围上海信创公共服务平台产品目录 此次产品目录的入围 再次验证了AntDB数据库符合信息技术应用创新产品可控性要求 也肯定了AntDB数据库团队近20年的数据库研发 服务能力 图1 A
  • GT20L16S1Y字库IC驱动

    GT20L16S1Y字库IC驱动 file GT20L16S1Y c date 2020 7 7 author aron566 copyright None brief GD20L16S1Y字库驱动 details version V1 0
  • ctfshow--网络迷踪

    前言 记录一下做题过程 如有不当之处 还望指正 如有疑问 欢迎留言 目录 前言 1 新手上路 2 初学乍练 3 初学又练 4 初学再练 5 现拉现吃 6 初窥门径 7 狗哥去哪 8 国足加油 9 致我超吧 10 山外有山 11 密集恐惧 1
  • C++Primer第五版课后习题答案目录

    本帖用来记录我在看C Primer第五版时课后习题的代码以及书中一些问题的思考 仅供参考 水平有限 如有错误之处 请大家不吝指教 谢谢 目录 第一章 开始 第二章 变量和基本类型 第三章 字符串 向量和数组 第四章 表达式 第五章 语句
  • Linux 命令之 - scp(从远端机器拉取数据)

    scp是secure copy的简写 用于在Linux下进行远程拷贝文件的命令 和它类似的命令有cp 不过cp只是在本机进行拷贝不能跨服务器 而且scp传输是加密的 命令格式 scp 参数 原路径 目标路径 从本地服务器复制到远程服务器 需
  • 网易滑块验证

    之前在写瑞数专题一时就想发一篇关于网易滑块验证的案例 奈何现在的大佬好像比较喜欢瑞数 不管咋样 还是来水一篇网易滑块验证相关的文章 首先是获取图片的部分参数 fp cb callback这三个都是加密而来 图片验证这里的acToken可以不
  • 聊聊分布式任务调度系统

    我看过那么多所谓的教程 大部分都是教 如何使用工具 的 没有多少是教 如何制作工具 的 能教 如何仿制工具 的都已经是凤毛麟角 中国 软件行业 缺的是真正可以 制作工具 的程序员 而绝对不缺那些 使用工具 的程序员 这个业界最不需要的就是
  • 二、三层转发原理(多例详解,图文相结合说明ping过程)

    首先要了解 源主机在发起通信之前 会将自己的IP与目的主机的IP进行比较 如果两者位于同一网段 用网络掩码计算后具有相同的网络号 那么源主机发送arp请求广播报 请求目的主机的mac地址 在收到目的主机的ARP应答后获得对方的物理层 MAC
  • mysql 错误代码1171

    在创建主键id的时候没有取消上图的允许空值 导致报错1171 Error All part of primary key must be not null when installing flag module 转载于 https www
  • 一位股市天才的肺腑独白:一直只用MACD指标来炒股

    在股市投资中 MACD指标作为一种技术分析的手段 得到了投资者的认知 但如何使用MACD指标 才能使投资收益达到最佳境界 却是知者甚微 在股市操作中 MACD指标在保护投资者利益方面 远超过它发现投资机会的功效 如何巧用MACD指标 在股海
  • linux 重启服务器命令

    Linux有如下的关机和重启命令 shutdown reboot halt poweroff 那么它们有什么区别呢 shutdown 建议使用的命令 shutdown是最常用也是最安全的关机和重启命令 它会在关机之前调用fsck检查磁盘 其
  • 计算机系统基础摘记——程序的链接

    目录 1 初探链接 1 1 可执行文件的生成过程 1 2 链接器的由来 1 3 概述链接器的关键作用 1 4 链接带来的好处 2 目标文件 2 1 一些基本概念 2 2 可重定位文件 2 2 1 可重定位文件的格式 2 2 2 ELF头的格
  • 基础算法题——Harder Gcd Problem(数论、思维)

    题目 题目链接 给定一个 n 将 2 n 内的数进行一对一匹配 每个数仅能利用一次 假设 a 与 b 匹配 则 gcd a b 1 现求 2 n 内最大匹配数量 并输出匹配数对 输入 T代表输入组数 下面T行 每一行一个数字n 输出 输出最
  • 数据结构之邻接表及广度优先遍历

    一 邻接表的概念 邻接表是图的一种最主要存储结构 相当于图的压缩存储 用来描述图上的每一个点 图的邻接表存储方法跟树的孩子链表示法相类似 是一种顺序分配和链式分配相结合的存储结构 如这个表头结点所对应的顶点存在相邻顶点 则把相邻顶点依次存放
  • JavaWeb --- CSS

    一 CSS技术介绍 CSS是 层样式表单 是用于 增强 控制网页样式并允许将样式信息与网页内容分离的一种标记性语言 二 CSS语法规则 三 CSS和HTML结合方式 第一种 在标签的style属性上设置key value value 修改标
  • 简单易学的机器学习算法——SVD奇异值分解

    一 SVD奇异值分解的定义 假设是一个的矩阵 如果存在一个分解 其中为的酉矩阵 为的半正定对角矩阵 为的共轭转置矩阵 且为的酉矩阵 这样的分解称为的奇异值分解 对角线上的元素称为奇异值 称为左奇异矩阵 称为右奇异矩阵 二 SVD奇异值分解与
  • 【加载静态资源很慢】解决浏览器加载静态资源阻塞

    开门见山讲方法 增加浏览器的最大并发连接数 避免静态资源的加载请求排队而被其他请求阻塞 仅测试火狐浏览器可用 Chrome据我所知不支持此项配置 IE浏览器需要通过修改组策略 未测试 正文 存在问题 今天调试网页时 网页加载缓慢 一方面主要
  • es基本配置文件详解

    基本概念 近实时 Near Realtime NRT Elasticsearch是一个接近实时的搜索平台 这意味着从索引文档的时间到可搜索的时间之间存在轻微的延迟 通常为一秒 集群 Cluster 集群是一个或多个节点 服务器 的集合 它们