ElasticSearch之Index modules

这篇具有很好参考价值的文章主要介绍了ElasticSearch之Index modules。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

索引的参数,分为两类:

  • 静态参数,仅支持在创建索引时指定,或者关闭索引后指定。
  • 动态参数,允许在索引工作期间指定或者修改。

静态参数

index.number_of_shards
默认值为1
本参数用于控制主分片的数量,仅支持在创建时指定,对于已关闭的索引,修改本参数不会生效。

es.index.max_number_of_shards
默认情况下,每个索引可以使用的分片的数量最大为1024
启动Elasticsearch进程时,可以在命令行中修改参数值,命令样例,如下:

export ES_JAVA_OPTS="-Des.index.max_number_of_shards=128"
./bin/elasticsearch

index.number_of_routing_shards
拆分索引的路由分片数量,和索引主分片index.number_of_shards的取值相关。
默认值位于2~1024之间。

index.codec
可选值为:

  • default,默认选项,使用LZ4算法对保存到盘上的数据执行压缩操作。
  • best_compression,使用DEFLATE算法对保存到盘上的数据执行压缩操作。

变更index.codec的取值后,对后续的segment合并操作生效,可以使用Force merge API强制触发合并操作。

index.routing_partition_size
仅允许在创建索引时指定,索引创建成功后,不支持修改。
默认值为1,参数值需要小于index.number_of_shards

index.soft_deletes.enabled
默认值为true
指示软件删除是否启用,仅在创建索引时允许指定。
可选项,如下:

  • true,默认值,支持软删除。
  • false,关闭软删除。

index.soft_deletes.retention_lease.period
默认值为12h
软删除的数据记录保持在shard中的时长。

index.load_fixed_bitset_filters_eagerly
默认值为true
可选项,如下:

  • true,默认值,启用预加载。
  • false,关闭预加载。

index.shard.check_on_startup
仅限专家使用,在调测问题时,在shard启动过程中增加一些重型的检查操作。
建议完成问题处理后,及时关闭本选项。

可选项,如下:

  • false,默认值,不启用额外的检查。
  • checksum,计算shard关联的所有文件的校验和,校验一致性,评估数据是否存在物理上的损坏。
  • true,执行checksum选项关联的检查操作,同时校验数据的逻辑上可能存在的损坏。

动态参数

index.number_of_replicas
默认值为1
索引的副本数量。

index.auto_expand_replicas
默认值为false
依据集群中节点的数量,自动扩展索引的副本的数量。
可选项,如下:

  • false,默认行为,即不自动扩展副本的数量。
  • 区间,比如0-5,或者0-all

index.search.idle.after
默认值为30s
shard的状态为空闲时,才能接收并处理检索请求。
本参数指定了等待shard进入空闲状态的时长。

index.refresh_interval
默认值为1s
对索引的变更,只有执行刷新操作之后,才能被外部检索到。
本参数指定了后台执行的刷新操作的定时任务运行的时间间隔。
可选项,如下:

  • 1s,默认值。
  • -1s,禁用后台的刷新操作。

当本参数没有显式指定时,有如下行为:

  • 处于空闲状态的shard不会响应刷新操作。
  • 当处于空闲状态的shard收到查询请求时,主动触发一次刷新操作,然后再执行查询操作。

index.max_result_window
默认值为10000
使用from + size方式检索数据时,本参数用于控制返回结果的记录的数量。
检索操作占用的JVM堆内存和消耗的时间,和from + size的值正相关,使用本参数可有效控制前述资源的占用量。
假如需要获取更多的检索结果,需要考虑使用scroll或者search-after。

index.max_inner_result_window
默认值为100
使用from + size方式检索数据时,本参数用于限制检索操作占用的JVM堆内存和消耗的时间。

index.max_rescore_window
检索请求参数中window_size字段取值的上限,默认值与index.max_result_window的取值相同。
本参数用于限制检索操作占用的JVM堆内存和消耗的时间。

index.max_docvalue_fields_search
默认值为100
在查询请求中,docvalue_field个数的上限。

index.max_script_fields
默认值为32
在查询请求中,script_field个数的上限。

index.max_ngram_diff
默认值为1
对于NGramTokenizerNGramTokenFiltermin_grammax_gram之间差值的最大值。

index.max_shingle_diff
默认值为3
max_shingle_sizemin_shingle_size之间差值的最大值。

index.max_refresh_listeners
在索引的每个shard上允许指定的listener数量的上限。

index.analyze.max_token_count
默认值为10000
使用_analyzeAPI时支持的Token的最大数量。

index.highlight.max_analyzed_offset
默认值为1000000
highlight request时允许被分析的字符的最大数量。

index.max_terms_count
默认值为65536
使用Terms Query时,允许使用的条件的最大数量。

index.max_regex_length
默认值为1000
使用Regexp Query时,允许使用的正则表达式的最大长度。

index.query.default_field
控制如下类型的查询操作允许生效的字段。

  • More like this
  • Multi-match
  • Query string
  • Simple query string

index.routing.allocation.enable
指示是否启用shard的分配能力。
可选值,如下:

  • all,默认值,全部shard支持分配。
  • primaries,主shard支持分配。
  • new_primaries,仅有新创建的shard支持分配。
  • none,所有shard禁止分配。

index.routing.rebalance.enable
指示是否启用shard的再平衡能力。
可选值,如下:

  • all,默认值,全部shard启用再平衡能力。
  • primaries,只针对主shard启用再平衡能力。
  • replicas,只针对副本的shard启用再平衡能力。
  • none,关闭shard的再平衡能力。

index.gc_deletes
被删除的数据记录,其版本号仍然可用的时长。
默认值为60s

index.default_pipeline
默认的ingest pipeline对象。
_none是特殊的pipeline对象,表示空的pipeline对象。

index.final_pipeline
最后的ingest pipeline对象。
request pipelinedefault pipeline之后运行,本参数指定的pipeline必须可用,否则将导致索引相关的操作失败。
_none是特殊的pipeline对象,表示空的pipeline对象。

index.hidden
使用模糊匹配时,是否隐藏本索引对象的相关信息。
可选值,如下:

  • true,即开启模糊匹配时,本索引被隐藏。
  • false,默认值,即开启模糊匹配时,允许本索引被匹配到,并返回相关信息。

相关资料文章来源地址https://www.toymoban.com/news/detail-773446.html

  • Index modules
  • Open index API
  • Update index settings API
  • Force merge API
  • _routing field
  • Delete API
  • Index API
  • Query and filter context
  • DEFLATE
  • Split index API
  • Breaking changes in 7.0
  • Term-level queries
  • ?refresh
  • Shingle token filter
  • Indexing pressure
  • 3、Elasticsearch cluster, node, index, document, shards 及 replica概念
  • Elasticsearch创建一个索引怎么也这么复杂
  • index 配置
  • elasticsearch详细使用教程
  • Elasticsearch-索引(Index)
  • Elasticsearch7——索引模块
  • Elasticsearch Index模块
  • ES7.5 下动态扩大索引的shard数量

到了这里,关于ElasticSearch之Index modules的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch Index Monitoring(索引监控)之Index Stats API详解

    index_current 当前正在执行索引操作的个数。 index_failed 失败的索引操作次数。 delete_total 执行删除索引操作的次数。 delete_time_in_millis 删除索引操作总耗时。 delete_current 当前正在执行删除索引操作的个数。 noop_update_total 空更新总次数(检测到空更新的次数)。 is_throttled 索引是

    2024年04月09日
    浏览(45)
  • elasticsearch 明明有index但是查不出来

    最近用python去query elastricsearch的data,但是我再kibana明明看到有,但是就是查不出来 因为涉及公司隐私,就不截图直接举例子了,我在 discover里面看到的是某条数据的index是 xxx-sss-a-b,但是我写query是xxx-sss-a-*就查不出来,就很奇怪。 于是去 Management  Index Management  Data Stream

    2024年02月04日
    浏览(36)
  • elasticsearch使用脚本 滚动关闭索引,更新index setting

         在旧的索引中更新mapping时,新增了分词器(分词器已经在模板中添加),但是在更新mapping时报错: 查看elasticsearch官网,发现不允许在已经存在的索引中动态更新分词器,只能先将索引close,更新分词器,然后再打开 Update index settings API | Elasticsearch Guide [8.3] | Elastic 2.1 由

    2024年02月08日
    浏览(52)
  • elasticsearch中创建索引模板_index_template

            索引模版是创建索引时自动应用提前设置好的settings、mappings和aliases,通过索引的名称进行匹配。         对索引模版的更改时不会影响目前已经根据索引模版创建的索引。         使用索引模版可以省去创建索引时再次指定settings、mappings、aliases的步骤,

    2024年02月01日
    浏览(76)
  • ElasticSearch文档(document)在index上的增删改查

    在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。它是一条具有结构化数据的记录,以 JSON(JavaScript Object Notation)格式表示。 每个文档都有一个唯一的标识符,称为 _id。如果你没有为文档提供自定义的 _id 值,Elasticsearch 将为其生成一个唯一的标识符。 文档

    2024年02月16日
    浏览(114)
  • Elasticsearch之Index Setting:索引的静态配置与动态配置

            索引的配置项按是否可以更改分为静态配置与动态配置,所谓的 静态配置即索引创建后不能修改。 索引静态配置  【索引创建后不能修改】 index.number_of_shards:索引分片的数量。在ES层面可以通过es.index.max_number_of_shards属性设置索引最大的分片数,默认为1024,in

    2024年02月16日
    浏览(48)
  • ES 10 - 如何使用Elasticsearch的索引模板(index template)

    本文转载自:ES 10 - 如何使用Elasticsearch的索引模板(index template) - 瘦风 - 博客园 索引模板: 就是把已经创建好的某个索引的参数设置(settings)和索引映射(mapping)保存下来作为模板, 在创建新索引时, 指定要使用的模板名, 就可以直接重用已经定义好的模板中的设置和映射. (1) sett

    2024年02月15日
    浏览(38)
  • Elasticsearch Index Templates(索引模板),如何实现分布式锁

    “type”: “keyword” }, “created_at”: { “type”: “date”, “format”: “” } } } } } 代码@1:触发条件。 代码@2:索引配置定义。 代码@3:索引映射配置。 上述示例对应的JAVA示例如下: public static final void createIndexTemp() { RestHighLevelClient client = EsClient.getClient(); try { PutIndexTemplateRequ

    2024年04月22日
    浏览(38)
  • Elasticsearch 索引文档时create、index、update的区别【学习记录】

    本文基于elasticsearch7.3.0版本。 一、思维导图 elasticsearch中create、index、update都可以实现插入功能,但是实现原理并不相同。 二、验证index和create 由上面思维导图可以清晰的看出create、index的大致区别,下面我们来验证下思维导图中的场景: 1、首先明确一点:如何指定是creat

    2024年01月20日
    浏览(47)
  • Elasticsearch exception [type=index_not_found_exception, reason=no such index [**]]

     1.代码运行出现找不到Index,先排除index是否存在。   2.springboot和ES映射,默认是把对象类型映射为index,class对象默认是大写开头,所以要看是都是因为大小写不匹配。如若因为大小写原因导致,可以通过@Document注解指定index  

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包