Elasticsearch 参考指南(索引模块) - 风继续吹 - SegmentFault 思否


本站和网页 https://segmentfault.com/a/1190000019919494 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Elasticsearch 参考指南(索引模块) - 风继续吹 - SegmentFault 思否注册登录问答专栏标签招聘活动发现✓使用“Bing”搜本站使用“Google”搜本站使用“百度”搜本站站内搜索注册登录Elasticsearch 参考指南(索引模块)博弈2.4k27关注作者首页专栏风继续吹文章详情0Elasticsearch 参考指南(索引模块)博弈2.4k27发布于2019-07-30  
索引模块
索引模块是按索引创建的模块,控制与索引相关的所有方面。
索引设置
可以按索引设置索引级别,设置可能是:
静态
它们只能在索引创建时或在关闭的索引上设置。
动态
可以使用update-index-settings API在活动索引上更改它们。
更改关闭的索引上的静态或动态索引设置可能导致不正确的设置,在不删除和重新创建索引的情况下,不可能纠正这些设置。
静态索引设置
下面是与任何特定索引模块无关的所有静态索引设置的列表:
index.number_of_shards
索引应该具有的主碎片的数量,默认为1。此设置只能在创建索引时设置,它不能在关闭的索引上更改,注意:每个索引的碎片数量限制为1024个,这种限制是一种安全限制,以防止意外地创建可能由于资源分配而破坏集群稳定的索引。可以在集群的每个节点上通过指定系统变量export ES_JAVA_OPTS="-Des.index.max_number_of_shards=128"来修改该限制。
index.shard.check_on_startup
碎片在打开之前是否应该检查是否损坏,当检测到损坏时,它将阻止碎片被打开,接受:false:(默认)打开碎片时不要检查是否有损坏。checksum:检查物理损坏。true:检查物理和逻辑损坏,就CPU和内存使用而言,这要昂贵得多。
index.codec
默认值使用LZ4压缩压缩存储的数据,但是可以将这个值设置为best_compression,它使用DEFLATE获得更高的压缩比,代价是降低存储字段的性能。如果你正在更新压缩类型,则新的压缩类型将在段合并后应用,段合并可以使用强制合并来强制执行。
index.routing_partition_size
自定义路由值可以转到的碎片数,默认值为1,只能在创建索引时设置,这个值必须小于index.number_of_shards,除非index.number_of_shards值也是1。
index.load_fixed_bitset_filters_eagerly
指示是否为嵌套查询预加载缓存过滤器,可能的值为true(默认值)和false。
动态索引设置
以下是与任何特定索引模块无关的所有动态索引设置列表:
index.number_of_replicas
每个主碎片拥有的副本数量,默认为1。
index.auto_expand_replicas
根据集群中数据节点的数量自动扩展副本的数量,设置为以破折号分隔的下界和上界(例如0-5),或将all用于上界(例如0-all),默认为false(即禁用)。注意,自动扩展的副本数量没有考虑任何其他分配规则,比如碎片分配感知、过滤或每个节点的总碎片,如果适用的规则阻止分配所有副本,则可能导致集群健康状态变为黄色。
index.search.idle.after
一个碎片在被认为是搜索空闲之前不能接收搜索或获取请求的时间(默认是30s)。
index.refresh_interval
多久执行一次刷新操作,使最近对索引的更改对搜索可见,默认为1s,可以设置为-1以禁用刷新。如果没有显式设置此设置,至少在index.search.idle.after秒内没有看到搜索流量的碎片在收到搜索请求之前不会收到后台刷新,当刷新挂起时,搜索到空闲碎片,将等待下一次后台刷新(在1秒内)。此行为的目的是在不执行搜索的默认情况下自动优化批量索引,为了避免这种行为,应该将显式值1s设置为刷新间隔。
index.max_result_window
此索引的搜索from + size的最大值,默认为10000,搜索请求占用的堆内存和时间与from + size成正比,这限制了内存。
index.max_inner_result_window
from + size的最大值,用于将内部命中定义和顶部命中聚合到此索引,默认为100,内部命中和顶部命中聚合占用堆内存,并且时间与from + size成正比,这限制了内存。
index.max_rescore_window
在此索引的搜索中,rescore请求的window_size的最大值,默认为index.max_result_window,其默认值为10000,搜索请求占用堆内存,时间与max(window_size, from + size)成正比,这限制了内存。
index.max_docvalue_fields_search
查询中允许的docvalue_fields的最大数量,默认为100,Doc-value字段代价高昂,因为它们可能导致每个字段每个文档的搜索。
index.max_script_fields
查询中允许的最大script_fields数量,默认为32。
index.max_ngram_diff
NGramTokenizer和NGramTokenFilter的min_gram和max_gram之间允许的最大差异,默认为1。
index.max_shingle_diff
对于ShingleTokenFilter,max_shingle_size和min_shingle_size之间允许的最大差异,默认为3。
index.blocks.read_only
设置为true使索引和索引元数据只读,设置为false允许写入和元数据更改。
index.blocks.read_only_allow_delete
与index.blocks.read_only相同,但是允许删除索引来释放资源。
index.blocks.read
设置为true以禁用对索引的读取操作。
index.blocks.write
设置为true可禁用对索引的数据写操作,与read_only不同,此设置不影响元数据,例如,可以用write块关闭索引,但不能用read_only块关闭索引。
index.blocks.metadata
设置为true可禁用索引元数据的读写。
index.max_refresh_listeners
索引的每个碎片上可用的刷新侦听器的最大数量,这些侦听器用于实现refresh=wait_for。
index.analyze.max_token_count
使用_analyze API可以生成的最大令牌数量,默认为10000。
index.highlight.max_analyzed_offset
为高亮显示请求分析的最大字符数,此设置仅适用于在索引没有偏移量或术语向量的文本上请求高亮显示时,默认为1000000。
index.max_terms_count
可以在terms查询中使用的术语的最大数量,默认为65536。
index.max_regex_length
可用于Regexp查询的正则表达式的最大长度,默认为1000。
index.routing.allocation.enable
控制此索引的碎片分配,它可以被设置为:
all(默认值)— 允许为所有碎片分配碎片。
primaries — 只允许为主碎片分配碎片。
new_primary — 只允许为新创建的主碎片分配碎片。
none — 不允许碎片分配。
index.routing.rebalance.enable
启用此索引的碎片重新平衡,它可以被设置为:
all(默认值)—允许对所有碎片进行碎片再平衡。
primaries — 只允许对主碎片进行碎片再平衡。
replicas — 只允许对复制碎片进行碎片再平衡。
none — 不允许再平衡碎片。
index.gc_deletes
已删除文档的版本号仍可用于进一步版本化操作的时间长度,默认为60s。
index.default_pipeline
此索引的默认摄取节点管道,如果设置了默认管道且管道不存在,则索引请求将失败,可以使用pipeline参数重写默认值,特殊管道名称_none表示不应该运行摄取管道。
其他索引模块中的设置
其他索引设置在索引模块中可用:
分析
用于定义分析程序、令牌器、令牌过滤器和字符过滤器的设置。
索引碎片分配
控制将碎片分配到节点的位置、时间和方式。
映射
为索引启用或禁用动态映射。
合并
控制后台合并进程如何合并碎片。
相似性
配置自定义相似性设置,以自定义搜索结果的评分方式。
慢日志
控制记录查询和获取请求的速度。
存储
配置用于访问碎片数据的文件系统类型。
事务日志
控制事务日志和后台刷新操作。
X-Pack索引设置
索引生命周期管理
指定索引的生命周期策略和滚动别名。
elasticsearch阅读 3.8k发布于 2019-07-30 赞收藏分享本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议风继续吹技术分享与交流关注专栏博弈态度决定一切2.4k 声望1.4k 粉丝关注作者0 条评论得票最新提交评论评论支持部分 Markdown 语法:**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用 @ 来通知其他用户。推荐阅读Activiti 用户指南(网关)网关用于控制执行流程(或如BPMN 2.0所述,执行令牌),网关能够使用或生成令牌。网关以菱形图形显示,内部带有一个图标,该图标显示网关的类型。博弈阅读 2.4kElasticsearch 查询权重(qbit)前言本文对 Elasticsearch 7.17 适用提升字段的权重multi_match默认 type 为 best_fields {代码...} most_fields {代码...} query_string {代码...} simple_query_string {代码...} 提升子句的权重bool 查询 {代...qbit阅读 3kElasticsearch 7.x 配置同义词(qbit)前言推荐学习阮一鸣《Elasticsearch 核心技术与实战》本文对 Elasticsearch 7.12 适用,官方文档:[链接]同义词可以再建索引时(index-time synonyms)或者检索时(search-time synonyms)使用,一般在检索时使用...qbit阅读 2.8k美团外卖搜索基于Elasticsearch的优化实践美团外卖搜索工程团队在Elasticsearch的优化实践中,基于Location-Based Service(LBS)业务场景对Elasticsearch的查询性能进行优化。该优化基于Run-Length Encoding(RLE)设计了一款高效的倒排索引结构,使检索...美团技术团队赞 1阅读 539Elasticsearch 按照标签匹配个数优先排序查询首先最外层的数组就是我们通常写的query语句,放在body中进行请求的,主要看query里面的结构,这种需要自定义脚本处理评分的,query中只放了一个script_score:kumfo赞 2阅读 516搜索中常见数据结构与算法探究(一)“算法是计算机科学领域最重要的基石之一“ “编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结...京东云开发者赞 1阅读 488elasticsearch的开发应用(2)Query DSL:ElasticSearch提供了一个可以执行的JSON风格的DSL(domain-specific language 领域特定语言),这个被称为Query DSL。KerryWu赞 1阅读 463博弈态度决定一切2.4k 声望1.4k 粉丝关注作者宣传栏文章目录跟随▲产品热门问答热门专栏热门课程最新活动翻译酷工作课程Java 开发课程PHP 开发课程Python 开发课程前端开发课程移动开发课程资源每周精选用户排行榜帮助中心建议反馈合作关于我们广告投放职位发布讲师招募联系我们合作伙伴关注产品技术日志社区运营日志市场运营日志团队日志社区访谈条款服务协议隐私政策下载 AppCopyright © 2011-2022 SegmentFault. 当前呈现版本 22.12.19浙ICP备15005796号-2浙公网安备33010602002000号ICP 经营许可 浙B2-20201554杭州堆栈科技有限公司版权所有