问题标签 [elasticsearch-indices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2766 浏览

elasticsearch - Elasticsearch - 使用分析器创建索引时出现非法参数异常

我正在使用 Elasticsearch 的 PHP API 和 Advanced REST Client (ARC) 来测试 ES API。当我尝试使用自定义分析器创建新索引时,出现此错误:

我尝试删除分析设置并成功创建索引。我还尝试从自定义分析器中删除过滤器,并且我已经重新安装了 2 次 ES。

必须使用该分析器创建索引

非常感谢!

0 投票
1 回答
1110 浏览

elasticsearch - 每个索引的 Elasticsearch 最大文档数

我有两个独立的索引 A 和 B,别名为 X。两个索引具有相同的文档结构。当我在别名 X 上使用 size = 20 进行搜索时,我想为索引 B 设置最大文档大小 5。搜索结果应包含索引 B 中的最多 5 个文档。如果索引 B 中没有文档,则搜索结果应包含 20 个文档从索引 A。

是否有任何解决方案可以设置每个索引的最大文档数,以便使用别名跨多个索引进行搜索?

0 投票
0 回答
28 浏览

elasticsearch - 启用 _source 后需要有关索引大小增加的信息

我在没有_source字段的生产环境中使用 ES 1.7,因此我们无法使用高亮等功能,我_source在 ES 1.7 上启用,将索引大小增加了 50%。

现在我们正在评估 ES 7.X 和我对 ES 7.X 所做的相同练习,总索引大小增加了 300%,这非常令人惊讶,并且大大增加了我们的成本估算。

我不确定哪一个是可靠的,我知道原始索引大小取决于您使用的文档类型和分析器(例如删除停用词和词干等会减小索引大小),但我的所有数据都是文本,并且两个版本的 ES 都使用了相同类型的索引和模式,那么为什么店内 w/wo 有这么大的差异_source呢?

_source如果我们在包含文本的索引中启用,通常预计索引大小会增长多少?

0 投票
1 回答
1160 浏览

elasticsearch - 如何在 ElasticSearch 中索引文档时重命名字段名称

我有一个 JSON 对象,其中一些字段如下:-

在索引此文档时,我想更改字段名称,索引后我的文档应如下所示:-

我读过有关摄取管道处理器的信息,但它们仅在创建字段后重命名。有什么方法可以在索引时更改字段名称?

0 投票
2 回答
3397 浏览

elasticsearch - 在 Prometheus 警报规则的标签值中使用今天的日期

我是 Prometheus 和警报的新手,我无法通过查看文档来完善我的答案。

我有一些数据将进入弹性搜索集群。每天,该进程都会在elasticsearch 上创建一个新索引,并将当天的数据写入该索引(例如,、、my_index-2019-10-06... my_index-2019-10-05)。我想监视今天索引的大小并查看它是否在增长,如果它没有在定义的时间间隔(例如 15 分钟)内增长,我想在 Prometheus 中发出警报。为此,我正在考虑这样一个expr警报规则:

应该是动态的TODAY-DATE,并且每天都会生成。但据我了解,标签值中不能有动态值,也不能有获取日期的函数。然后我在考虑比较所有索引的大小总和的增量以 开头my_index,但是这种方法的问题是保留时间,如果删除一个索引,总和的增量可能是负数,而新的数据即将进入今日指数。你有解决这个问题的方法吗?

提前致谢。

0 投票
0 回答
138 浏览

elasticsearch - 所有索引在 ElasticSearch 中突然被删除

我们有一个 AWS Managed ES Cluster,其中有 4 个索引。直到 2019 年 12 月 31 日,我们的数据在所有索引中都存在。但是,当我们在2020 年 1 月 2 日返回时,我们看到所有索引都被删除了!这对我们来说真的很可怕。我很快做了一个 _cat/indices 的创建时间,我注意到索引.kibana_1的创建时间是格林威治标准时间 12 月 31 日上午 8:40,而一个索引的创建时间是格林威治标准时间 12 月 31 日下午 1 点。由于我们产品的摄取触发,在那之后创建了一些其他索引。

但事实并非如此,因为我们的集群是在 1-1.5 个月前托管的。我们从未停止 AWS ES 集群的启动。我们试图知道集群的正常运行时间,假设任何重启都会以任何方式影响索引,但没有找到一种方法来了解集群的正常运行时间。

我们有一个节点,当我今天运行查询时,它的正常运行时间显示为3.8d(假设 3.8 天) 。这带来了更多的混乱,因为我们的 .kibana_1 索引是在 12 月 31 日创建的,也就是差不多 5 天前。不完全确定这是否是预期的情况。

我没有在集群上启用任何访问控制,只有几个人可以访问集群,而且他们都没有在集群上运行删除请求。我们没有在 AWS 集群上启用任何日志记录。所有索引合并的总数据小于 5 GB。

我们确实恢复到了 12 月 31 日的快照。但是我们确实丢失了所有 2 天的数据。我真的很想知道在什么条件下会发生这样的事情。我们将在几周内使用整个产品进行生产,假设这会再次发生,现在让我感到害怕。

关于这是如何发生的以及如何防止它在未来发生的任何想法和想法?

0 投票
2 回答
5062 浏览

elasticsearch - ElasticSearch ILM 不删除索引

我已经对我的fluentd.*索引设置了一个简单的 ILM 策略,以便在(用于测试 - )短时间内删除。

工业光魔:

索引模板:

通过这些设置,我预计 ES 会删除 5-6 天之前的索引,但 ES 中仍有 3 周前的索引。目前,它表示该 ILM 政策有 108 个链接指数。

它实际上在做什么,似乎它根本没有做任何事情......如何在 x 天后删除索引?

我首先尝试使用“索引模板”,但它没用,它不会将设置应用于每个索引(可能是但仅在创建时????)。

然后我手动将 ILM 放在索引上(另一个错误:您无法选择所有索引并点击“添加 ILM 策略” - 您需要逐个添加策略),这需要我单击大约 600 次。

现在的问题是,我定义了“热”阶段但它没有触发(它有问题?) - 因为热阶段没有触发(我设置为“创建索引后 1 天后翻转”) - 删除阶段也没有。当我删除热阶段并将 ILM 再次应用于索引时,仅删除 - 它起作用了!但是添加和删除所有这些都是错误的,我得到了 Ooops,这里和那里出现了一些错误错误。

我不明白为什么当我更改 ILM 策略中的某些内容时,我必须删除 ILM 并将其重新应用到每个索引。这是1000%不方便。

ES 确实需要做一些工作,它仍然是测试版,我得到了很多状态码 500,尽管我直接在 Elastic Cloud 上使用最新版本。

0 投票
1 回答
320 浏览

elasticsearch - Elasticsearch 索引占用太多空间

我在 Ubuntu 上使用 Elasticsearch 7.5.2。最近,我开始使用 Elasticsearch 在每次页面加载时显示相关搜索结果。这增加了音量,但我也发现它创建了大型索引文件。请注意,我正在使用“应用搜索”来支持我的查询。

这是占用太多空间的示例索引文件:

我尝试使用 CURL 删除这些,但它们重新出现并显示较小的空间(每个约 5 GB)。

我想知道是否有办法控制这些索引。我不确定这些索引的目的是什么,是否有办法阻止它们?

0 投票
0 回答
32 浏览

elasticsearch - 如何检查索引是否用于搜索或索引

我有很多包含历史索引(超过 10 年)的弹性搜索集群,其中一些索引是使用最新设置和字段新创建的,但旧的不会被删除。

现在我需要删除没有收到任何搜索和索引请求的旧索引。

我已经使用了elasticsearch curator,但它不适用于旧版本的 ES。

是否有任何 API 可以在 ES 中给出索引和搜索请求的最后时间,这将非常适合我的目的。

编辑:- 我也检查了https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html但这也没有给出索引或搜索请求到来的最后时间。它给出的只是上次重启后这些请求的数量。

0 投票
1 回答
79 浏览

elasticsearch - Elasticsearch 上的自动索引和自动删除索引

我们有以下要求:每个月都必须创建一个新的索引(集合):在 ES 集群中的company_details- 。我们需要删除超过 2 个月的旧索引。

例子:

我们可以创建一个别名company_details并将其指向当前月份的索引(以便我们可以进行索引/查询)。这也必须每月自动更新。

我们如何设置 ES 以便自动完成?