问题标签 [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.
elasticsearch - 我应该为 ElasticSearch 拥有多少旧索引?
我主要使用默认配置的 ElasticSearch,最近注意到我的旧索引占用了太多空间。我相信它们是由于默认配置而自动创建的,因为我没有进行任何此类配置。请帮助我:
- 我通常应该保留多少旧索引?
- 我今天的搜索是否使用昨天创建的索引?
- 我可以只使用一个索引副本并每次都重复使用相同的索引副本吗?
- 旧指数有什么用途?
由于 ES 在生产服务器上运行,我根本无法删除旧索引,因此需要专家建议。谢谢。
indexing - 提升单个弹性搜索索引以在结果中具有偏好
我正在尝试在我的弹性搜索查询中提升某些索引。现在,我的查询看起来像这样。
我知道我的查询没有提升任何索引的工作方式符合我的预期。但是,我的查询结果中仍然有很多来自“index_A”的结果,而不是大幅提升的 index_C。我知道 A 和 C 中应该有相似数量的匹配结果,所以问题一定是我没有正确提升查询。
我是否错误地设置了我的查询 JSON?在我链接的教程中,它没有提供太多背景信息。
我注意到的另一件事......返回文档的“_score”字段......所有这些都设置为null。这可能与我的文档没有根据它们来自的索引进行提升有关吗?
elasticsearch - 什么是具体指标
关于弹性搜索,什么是具体索引。
elasticsearch 文档提到它们数百次,但我在任何地方都找不到定义。
例如:
计数-allowNoIndices:
- 如果通配符索引表达式解析为 no ~具体索引~是否忽略。
elasticsearch - elasticsearch:多个字段的多字段映射
我将有一个包含多个字段的文档。让我们说'title','meta1','meta2','full_body'。我想以几种不同的方式对它们中的每一个进行索引(原始、不带停用词的词干、带状疱疹、同义词等)。因此,我将拥有以下字段:title.stemming
、title.shingles
、meta1.stemming
等meta1.shingles
。
我必须复制粘贴每个字段的映射定义吗?或者是否可以为所有索引/分析方式创建一个定义,然后仅将其应用于 4 个顶级字段中的每一个?如果是这样,如何?
amazon-elasticsearch - 将 Cloudwatch 日志流式传输到弹性搜索时如何创建自定义索引
我们希望使用一个 Kibana 仪表板,即一个用于我们所有微服务的弹性搜索域,现在我看到的唯一阻止的是在将云监视日志订阅到弹性搜索时,它总是创建相同格式的索引 cwl-*
当我们将云监视日志流式传输到弹性搜索时,我们如何为索引创建自定义名称?我们是否应该切换到 log stash 为索引创建自定义名称并将其流式传输到亚马逊弹性搜索?
elasticsearch - Elasticsearch 更新索引模板
我有一个关于elasticsearch索引模板的问题,有我的问题的一个场景。
为系列索引创建一个模板,名为templateA
,并且有一些从该模板创建的索引,名为Index-yyyy.mm.dd2
和Index-yyyy.mm.dd2
。一段时间后,我需要在索引中创建一些新字段,然后更新templateA
.
那么,如何使之前创建的索引使用新模板?请给我一些建议。非常感谢!
elasticsearch - ElasticSearch 进入“只读”模式,节点无法更改
我的 ES 集群(由 5 个数据节点、3 个主节点组成)在夜间发生了一些事情。
我不知道发生了什么,但是所有的索引和数据都被删除了,集群进入了“只读”模式,可能被黑了?
尝试重新启动 Kibana - 它重新启动,没有任何改变。尝试重新启动 Elastic - 它重新启动(所有节点),没有任何改变。
然后我查看了集群设置,这就是我得到的:
我尝试按如下方式撤消只读:
如您所见,没有运气:
有任何想法吗?
更新:Andrei Stefan 解决的问题,现在是更重要的部分 - 为什么?发生了什么,为什么?我丢失了所有数据,并且我的集群进入了只读模式。
elasticsearch - 为什么 Elasticsearch 中的字段是按类型而不是索引指定的?
如果 Elasticsearch 索引中的多个类型具有相同名称的字段,则这些字段必须具有相同的映射,以尝试将“foobar”属性创建为 string 和 long"...
例如,如果您尝试 PUT 以下索引映射:
...将返回以下错误
以下来自弹性搜索网站:
两种不同类型中具有相同名称的相同索引中的字段必须具有相同的映射,因为它们在内部由相同的字段支持。尝试更新存在于多个类型中的字段的映射参数将引发异常,除非您指定 update_all_types 参数,在这种情况下,它将在同一索引中具有相同名称的所有字段中更新该参数。
如果具有相同名称的字段必须对索引中的所有类型具有相同的映射,那么为什么要为每种类型指定字段映射?为什么不为整个索引指定字段,然后确定为每种类型分配了哪些字段。
例如这样的:
像这样的映射格式不是更简洁,更好地表示实际允许的内容吗?
我问的原因是因为我正在创建一个索引模板 JSON 文件,其中包含 15 种类型中使用的大约 80 个不同字段。许多字段用于多个(如果不是全部)类型。因此,无论何时我需要更新一个字段,我都必须确保为使用它的每种类型更新它。
php - Laravel Scout - 观察关系
当我导入索引时,一切正常(包括关系)。
问题是主模型不监视关系。
当我更新关系时,索引也不会更新。
有没有办法在Cache::tags
修改关系时使用类似的东西来更新索引?或者也许是另一种方式。
mysql - ElasticSearch - 处理非规范化数据的问题
我构建了一个使用 ElasticSearch 的拍卖系统。它有 3 个模型,用户、拍卖和出价。用户可以发布拍卖,也可以在其他拍卖中出价。
我的第一个搜索用例是搜索出价。除了通过 id、user_id、price 等进行搜索之外,我还遇到了一个有趣的用例。我希望能够搜索用户的姓名,它应该从该用户发布的所有拍卖中返回我的所有出价。
例如,当我搜索“John”时,它会得到我为用户“John”发布的所有拍卖发送的所有出价。
这是索引的样子:
我对这个索引有几个问题:
Bids 有很多行(10M+),并且有 n-grams
auction_user_name
占用了大量空间。我在想是否真的应该在具有单一类型的单一索引中对这些数据进行非规范化,或者是否有任何更合适的替代方案(父子类型)?一些用户非常活跃,可以有数千个出价。如果其中一个人更改了名字,则会导致对投标索引的数千次更新。这并不理想,并且由于重复,它可能导致写入繁重的索引,这可能容易受到拒绝服务的影响。
这两个问题是否有已知的解决方案?我确信我可以做一些权衡来解决这个问题。
我在以下方面看到了一些建议:https ://www.elastic.co/guide/en/elasticsearch/guide/current/relations.html
这些方法并不像我想象的那么优雅,所以如果有更多的方法来解决这个问题,我很感兴趣。