新闻中心

百度推广开户电话:18066714179,竞价开户,一级代理商开户,低门槛,高返点,专业推广运营团队对接!

  

  * 索引库自动创建索引模板

  * 定期创建7天索引库

  * 提供orm爬虫创建索引界面,批量创建多线程

  * IK分词器热分词

  * 接口限流控制RateLimiter

  * 6.x上述版本不支持单个版本index创建多个type

  约定说明

  * indexName 索引名称命名空间

  * indexType 文档名称

  * schema 索引键值对邛崃百度开户工具

  * data 索引内容

  * version 索引版本

  * fields 输出键值对

  * keywords 全文检索关键词

  * filter 过滤规则

  * sort 排序规则,默认文本相似度排序

  * distinct 聚合字段

  * field 字段完全匹配

  * score 自定义文本得分

  接口地址说明

  * 查询模板mapping

  1) indexName 模板名称

  2) indexType 索引表

  >http://127.0.0.1:9599/v1/es/schema/{indexName}/{indexType}/templateMapping

  * 删除模板

  1) indexName 模板名称

  >http://127.0.0.1:9599/v1/es/schema/{indexName}/delSchema

  * 创建媒体资源模板

  >http://127.0.0.1:9599/v1/es/schema/mediaSchema

  * 在索引库下查询索引表

  1) indexName 索引库

  2) indexType 索引表

  > 律师百度推广开户 http://127.0.0.1:9599/v1/es/schema/media-2018-06-09/news/mapping

  * 删除索引

  > http://127.0.0.1:9599//v1/es/schema/.monitoring-es-6-2018.06.08/deleteIndex

  Elasticsearch优化

  * Filter Cache

  Filter cache用于缓存filter结果集,需要注意的是,这种缓存也是常驻的heap,无法GC的。默认的10% heap size如果在实际使用中置工作就足够好了heap考虑在没有压力的情况下增加这个设置。默认的10% heap size如果在实际使用中置工作就足够好了heap考虑在没有压力的情况下增加这个设置。

  * Field Data cache

  对 排序或聚合搜索结果,需要分析倒排索引中的数据,然后进行倒排。可以说,应用场景有大量的排序和数据聚合field data cache是性能和稳定性的杀手。这个过程非常耗时,所以ES 2.0之前的版本主要依赖于此cache缓存已计算的数据,提高性能。但是由于heap空间有限。当用户计算海量数据时,很容易导致 heap吃紧,集群频繁GC,计算过程根本无法完成。 ES2.0后,正式默认启用Doc Values特性(1.x需要手动更改mapping开启),将field data在indexing time在磁盘上建造,经过一系列优化,可以与以前相比使用field data cache性能更好的机制。所以要限制对field data cache最好根本不用,可以大大释放heap压力。这里需要注意的是,排序和聚合字段必须是not analyzed。 假设如果有一个字段是analyzed是的,排序的实际对象实际上是词典,在数据量大的情况下是致命的。

  * Bulk Queue

  Bulk Queue用什么?当所有的bulk thread他们都很忙,回应新的bulk request的时候,将request在内存中排列,然后慢慢清除。一般来说,Bulk queue不会消耗太多heap,但我见过一些用户为了改进而改进bulk在速度上,客户端设置了大量的并发量,并将bulk Queue设置到不可思议的大,比如几千。这在处理短期请求爆发时是有用的,但如果集群本身的索引速度跟不上,设置了数千个queue都满了会 情况如何? 取决于一个bulk乘上数据量queue的大小,heap很可能不够,内存溢出。一般来说,官方默认thread pool设置可以很好的工作,建议不要随意调优相关设置,往往会适得其反。

  * Indexing Buffer

  Indexing Buffer当它满或满时,用于缓存新数据refresh/flush interval到了,就会以segment file磁盘的形式。 该参数的默认值为10% heap size。根据经验,这种默认值也可以很好地处理大量的索引吞吐量。 但也有用户认为buffer吞吐量越大,吞吐量越高,所以我见过一些用户将其设置为40%。在极端情况下,当写入速度很高时,40%被占用,导致OOM。

  * Cluster State Buffer

  ES 设计成每一个Node都能响应用户api请求,所以每一个Node内存包含集群状态的副本。这个Cluster state包含多少个集群,比如集群Node,多少个index,每个index的mapping是什么?有少shard,每个shard分配等 (ES有各类stats api获取此类数据)。 在大型集群中,这种状态信息可能非常大,消耗的内存空间不容忽视。并且在ES2.0之前的版本,state的更新是由Master Node完成后,全部传播到其他结点。 频繁的状态更新可能会给出heap带来压力。 在超大规模集群的情况下,可以考虑分集群并通过tribe node连接用户api透明可以保证每个集群的透明度state信息不会膨胀太多。

  * 超大搜索聚合结果集fetch

  ES 它是一个分布式搜索引擎,搜索和聚合计算除了在每个搜索引擎中data node除并行计算外,还需将结果返回汇总节点进行汇总和排序。无论是搜索还是聚合,如果返回结果size如果设置太大,会给heap造成 压力很大,尤其是数据收集节点。超大的size在大多数情况下,用户用例是错误的。例如,我想计算它cardinality,却用了terms aggregation size:0这样; 对大结果进行深度分页;一次拉取全量数据等。

  在开发和维护过程中,我们总结了以下优化建议:

  尽量运行在Sun/Oracle JDK1.在7以上环境中,低版本jdk容易莫名其妙bug,ES在分布式计算中,一个节点不足以测试其性能,一个生产系统至少有三个节点。

  倒排词典的索引需要常驻内存,不能GC,需要监控data node上segment memory增长趋势。

  根据机器数量、磁盘数量、索引尺寸等硬件环境,根据测试结果设置最佳分片数和备份数,单个分片最好不超过10GB,定期删除未使用的索引,并迁移冷数据。

  保守配置内存限制参数,尽量使用doc value存储以减少内存消耗,限制查询时间size、from参数。

  如果不使用_all字段最好关闭这个属性,否则在创建索引和增加索引大小时会使用更多CPU,假如你没有限制CPU压缩文档的计算能力可以选择_source。这实际上是整行日志,所以打开压缩可以减小索引的大小。

  避免搜索和聚合大量结果集。缺失需要大量的拉数据scan & scroll api来实现。

  熟悉各种缓存功能,如field cache, filter cache, indexing cache, bulk queue等等,要设置合理的尺寸,要根据最坏的情况来看heap是否够用。

  集群使用必须结合实际应用场景进行持续监控。


廊坊市百度推广开户 百度开户推广必须要交钱吗