问题标签 [aws-elasticsearch]

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 回答
239 浏览

amazon-web-services - 无法在 fs 中为 AWS elasticsearch 注册快照存储库

我正在尝试在 AWS Elasticsearch/OpenSearch 上注册一个快照存储库。我收到以下错误:"Message":"User: anonymous is not authorized to perform: iam:PassRole on resource: arn:aws:iam::$$$$$:user/Elasticsearch"}

下面是我的 curl 命令:

0 投票
1 回答
62 浏览

elasticsearch - 名称/值对列的弹性搜索查询

我们在弹性搜索中有一个文档,其中包含多个名称/值对部分,我们希望仅根据名称列值获取值。

我们预计只有 76483 作为基于名称等于UC_CORP的结果

0 投票
1 回答
1693 浏览

elasticsearch - 在 AWS Elasticsearch Service 上更改 server.maxPayloadBytes

所以我有一个通过 AWS 托管的 ES 集群,其中文档网络主要是动态 JSON,没有固定映射。

当我尝试在 Kibana 上执行“创建索引模式”时,它会出错:

Error Payload content length greater than maximum allowed: 1048576

所以我需要增加server.maxPayloadByteshttps://www.elastic.co/guide/en/kibana/current/settings.htmlkibana.yml

或想出另一种方式。

要增加server.maxPayloadByteskibana.yml我必须直接编辑它,但不知道该怎么做。我有集群的 VPC 端点,但我无法通过 ssh 进入它。


我在跑步

0 投票
0 回答
383 浏览

amazon-web-services - 从公有弹性集群迁移到 VPC 集群

我目前有一个公共弹性集群和一个工作正常的数据节点(m3.xlarge.elasticsearch)。我想从公共域转移到基于 VPC 的域。

我能够从公共端点获取手动快照并将其还原到 VPC 端点。

虽然迁移成功,但我目前面临搜索延迟问题,而公共端点的搜索延迟约为 0.22-0.23 毫秒,具有 2(m4.large.elasticsearch) 数据节点的 VPC 终端的搜索延迟约为 0.600- 1.5ms 取决于负载。

这会导致整个网站变慢,当连接到公共端点时,典型的页面在大约 6-7 秒内加载,而我们移动到 VPC 端点时,页面在大约 20-30 秒内加载,这与系统停机一样好。

我观察到的另一个指标是在 Newrelic 中。它将外部指标及其响应时间分组。对于公共端点,当我迁移到 VPC 时大约是 8.92 毫秒,大约是 180-230 毫秒。

这似乎是不费吹灰之力,任何人都需要做的就是从公共集群迁移到基于 VPC 的集群,当前一代节点具有更好的可用性,并且应该会带来更好的性能,但结果却并非如此。

除了上面建议的以下架构外,还尝试了以下架构

  1. 3 T2.Medium(数据节点)
  2. 3 个主节点 + 5 个数据节点。无论使用何种资源,我都会遇到相同的响应时间问题。

任何回答这种行为的建议都会很棒。让我知道是否需要更多其他信息。

谢谢 :)

0 投票
0 回答
48 浏览

amazon-web-services - AWS Elastic Search 升级 2.3 到 5.5 非法参数异常

我们最近从 aws Elasticsearch 服务 2.3 升级到 5.5,在 5.5 版本中,预签名的 URL 不起作用(适用于 2.3)。使用以下消息引发非法参数异常:无法识别的参数:[X-Amz-Algorithm]、[X-Amz-Credential]、[X-Amz-Date]、[X-Amz-Expires]、[X-Amz-Signature] , [X-Amz-SignedHeaders]。

0 投票
1 回答
246 浏览

elasticsearch - 有没有办法将属性类型定义为 ElasticSearch 数组数据类型中的关键字?

我正在索引一个大型数据集,该数据集具有特定实体的多个名称字段。我已经定义了数组类型的名称字段,并在其中添加了大约 4 个名称。一些名称之间有空格,它们正在被标记化。我可以避免吗?

我知道对于 String,我们在 Elastic 中有文本和关键字类型,但是当我将数组作为数据类型时,如何将类型定义为关键字?默认情况下,所有数组字段都被视为文本类型。我希望它们被视为关键字类型,因此它们在索引时不会被标记。

预期:如果我将“Hello World”存储在一个数组中,我应该能够搜索“Hello World”。

当前行为:它以不同的方式存储 hello 和以不同的方式存储世界,因为它标记了它。

0 投票
2 回答
1241 浏览

javascript - 通过 Postman 使用 AWS4 签名进行 CRUD 弹性操作

我正在尝试使用 AWS4 签名方法将数据发布到由 AWS 管理的 Elasticsearch。我想通过邮递员预脚本来实现这一点。我尝试使用以下脚本,该脚本非常适用于 Elastic 搜索的 GET 操作,但不适用于 POST 或 PUT 或 DELETE 操作,并不断给我错误消息,指出签名与 POST 操作不匹配。有人可以帮我在邮递员中修复以下脚本吗?

0 投票
1 回答
215 浏览

java - Elasticsearch嵌套排序 - 文档和用于排序的嵌套对象之间不匹配

我一直在使用 AWS Elasticsearch(6.2 版)作为后端开发一个新的搜索 API。

现在,我正在尝试支持 API 的“排序”选项。

我的映射如下(不包括不相关的字段):

我试图允许用户按属性值(路径:)排序materialDefinitionProperties.value.valueLong.raw

请注意,它位于嵌套对象的 2 级内(materialDefinitionProperties 和 materialDefinitionProperties.value 是嵌套对象)。

要按 ID 为“PART NUMBER”的属性值对结果进行排序,我的排序请求是:

但是,当我检查响应时,“排序”字段与文档的属性值不匹配:

文档的 PART NUMBER 属性是“202-001193-001”,“排序”字段显示“100-000018”,这是另一个文档的部件号。

主文档和用于排序的嵌套对象之间似乎存在不匹配。

当集群中只有少量文档时,此请求运行良好。但是,一旦我用大约 100 万条记录回填集群,就会出现症状。我也尝试过创建一个新的 ES 集群,但结果是一样的。

按其他非嵌套属性排序效果很好。

我是否误解了嵌套对象的概念,或者滥用了嵌套排序功能?

任何想法表示赞赏!

0 投票
0 回答
138 浏览

elasticsearch - Elasticsearch 中的管道聚合

我正在研究 Elasticsearch 聚合,并且有一个关于如何进行管道聚合的问题。我的 ES 文档中有三个高级字段:

documentId, list1, list2

示例:这是我拥有的几份文件:

文件 1:

文件 2:

文件 3:

总结一下——

document1 和 document2 的 key1 和 key2 具有相同的一组值(除了 id 不同,因此它们被视为两个单独的文档)。

document3 的 key2 值与 document1 和 document2 中的值相同。key1 的值不同于 document1 和 document2。

我想在 list1 字段的键上运行术语聚合器,它应该作为在 list2 上完成的术语聚合的输入。

所以,对于上面的例子,我想要的整体输出是-value21:2(一个计数对应key1中的value11,第二个计数对应key1中的value12)

而NOT value21: 3(两个count对应key1中的value11,第三个count对应key1中的value12)。

有什么简单的方法可以做到这一点吗?

0 投票
1 回答
110 浏览

java - 如何使用 JestClient 为 ElasticSearch 手动调用快照端点

我已经JestClinet在 AWS 上的 ES 上使用我的所有 CRUD 操作。现在我正在尝试按照 https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-request-signing.html中的描述对我的 ES 进行快照

而不是使用另一个RestClient,我想知道我是否可以使用我现有的JestClient.