问题标签 [amazon-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 回答
542 浏览

java - 向 Elasticsearch 添加新的 HTTP 客户端以支持客户端应用程序在 AWS Elasticsearch 上运行?

我正在尝试使用JEST添加对Titan ES 客户端的 Elasticsearch HTTP 访问。Titan-es 仅支持 ES 的本地和传输 (TCP) 模式。但我想支持通过 ES 的 HTTP 接口进行通信。这将允许客户端库喜欢使用AWS Elasticsearch作为仅提供 HTTP(S) 接口的索引后端。有关更多信息,请参阅此帖子titan-es

我正在寻找一些关于我目前正在考虑的方法的反馈:

  1. 创建一个ElasticsearchHttpClient实现org.elasticache.client.Client接口的新类。新类将使用它JestClient作为它的内部客户端。这样它将通过 HTTP 与 ES 通信。新类可能会扩展 ES'AbstractClient以减少必须实现的方法:admin()settings()execute()threadPool()close()
  2. 添加一个新的枚举HTTP_CLIENTElasticSearchSetup
  3. 确保connect()on 方法HTTP_CLIENT返回一个实例,该实例包含和Connection的正确值。该成员将是新类的一个实例。nodeclientclientElasticsearchHttpClient
  4. 如果配置为 ,请确保该方法检索(包含新的)ElasticSearchIndex.interfaceConfiguration()的正确实例。从那时起,其余代码应该继续在新协议上工作。ConnectionElasticsearchHttpClientINTERFACEHTTP_CLIENT

这听起来应该有效吗?第一步是我最关心的问题——我不相信我可以使用 JestClient 实现所有客户端方法。

[我也在Titan 邮件列表Elasticsearch 论坛上问过这个问题。]

0 投票
1 回答
285 浏览

node.js - Elasticsearch 错误:SearchPhaseExecutionException:SearchParseException

当我尝试使用查询在 AWS elasticsearch 集群上使用模板搜索时出现以下错误

“匹配”:{“标题”:“版权”}

查询在搜索阶段失败,同时尝试解析查询。

为什么解析失败?

我的查询适用于 localhost elasticsearch 实例。

这是我对索引类型的映射:

0 投票
0 回答
231 浏览

elasticsearch - 使用 javascript API 将过滤后的 mustache 搜索模板放在 AWS elasticsearch 集群上

我正在使用 elasticsearch javascript API 1.5,因为目前 1.5 是 AWS elasticsearch 支持的最新版本的 ElasticSearch。

给定以下模板,我想使用的 javascript 中的函数可以工作

当前过滤器有效,但不允许将“系列”或“isbns”数组传递到过滤器中。我不能使用以下过滤器对象

因为如果没有传入 series 或 isbn,则没有 book 匹配空字符串,即使我传入了默认值,它也必须匹配每一本书,这意味着它必须包含所有 series 和所有 isbns。

理想情况下,我只会编写一个普通的 mustache 文件,并按照此处描述的方式使用预先注册的模板。

这描述了在集群上存储模板的两种方法,首先将它们存储在 config/scripts 目录中,我无法在 AWS elasticsearch 上访问该目录,其次,将模板作为字符串传递给名为“.scripts”的索引”。

对于第二个选项,我不知道如何使用 elasticsearch.js api 执行此操作,因此我必须以另一种方式执行此操作,并且我在网上找不到此示例。

0 投票
1 回答
440 浏览

logging - AWS Elasticsearch 日志格式和过滤模式

如果我的日志采用 key=value 格式,有没有办法在 AWS elasticsearch 中按关键字制作过滤模式?到目前为止,我只是没有办法。

日志:

0 投票
2 回答
2376 浏览

amazon-elasticsearch - 将 Cloudwatch 日志流式传输到弹性搜索时如何创建自定义索引

我们希望使用一个 Kibana 仪表板,即一个用于我们所有微服务的弹性搜索域,现在我看到的唯一阻止的是在将云监视日志订阅到弹性搜索时,它总是创建相同格式的索引 cwl-*

当我们将云监视日志流式传输到弹性搜索时,我们如何为索引创建自定义名称?我们是否应该切换到 log stash 为索引创建自定义名称并将其流式传输到亚马逊弹性搜索?

0 投票
1 回答
11273 浏览

amazon-web-services - 我可以在 Amazon Elasticsearch Service 上安装插件吗?

如何将 elasticsearch-river-mongodb 插件安装到 Amazon Elasticsearch Service?

0 投票
1 回答
5442 浏览

amazon-web-services - 通过 lambda 函数从 S3 向 AWS ES 中插入数据不起作用

我想请教您如何正确地将数据从 S3 放入 ES 域。我创建并配置了一个新的 ES 域、存储桶和 lambda 函数(来自此示例: https ://github.com/awslabs/amazon-elasticsearch-lambda-samples )。所有这些都是在同一位置创建的。

一切都会好起来的,但我试着往我的桶里放一些东西,一切看起来都很好——我已经放置了一个新的 json 文件,然后 lambda 函数检测到它并显示如下结果:

毕竟,我试图在 ES 中搜索一些东西,但它没有显示任何新索引,我已经通过 url 进行了检查:

https://search-xxxx.us-west-2.es.amazonaws.com/_aliases

我究竟做错了什么?

干杯:)

0 投票
0 回答
61 浏览

amazon-web-services - 使用多桶子聚合对术语聚合进行排序

给定一个术语聚合(标签),我想按字符串字段(能量)对存储桶进行排序。

问题是我们不能在 order 子句中使用多桶值。

对于给定的标签,我确信只有一种能量。我想做的是使用我的能量子聚合的第一个(也是唯一一个)结果。

我正在使用 1.5 版本的 AWS elasticsearch 服务,并且脚本被禁用,所以我没有找到按另一个术语对存储桶进行排序的方法:(

任何想法 ?

0 投票
3 回答
1030 浏览

django - 重建 haystack 索引时出现错误“ascii”编解码器无法解码位置 149 中的字节 0xc3:序数不在范围(128)中

我有一个应用程序,我必须在其中存储人们的姓名并使其可搜索。我使用的技术是 python (v2.7.6) django (v1.9.5) rest 框架。dbms 是 postgresql (v9.2)。由于用户名可以是阿拉伯语,我们使用 utf-8 作为 db 编码。对于搜索,我们使用 haystack (v2.4.1) 和 Amazon Elastic Search 进行索引。几天前索引建立良好,但现在当我尝试重建它时

它失败并出现以下错误

完整的错误跟踪是

我的猜测是,在我们的数据库中没有阿拉伯字符之前,索引构建良好,但现在由于用户输入了阿拉伯字符,索引无法构建。

0 投票
0 回答
53 浏览

ruby-on-rails - 清除集合后 ElasticSearch NotFound

我的 Rails 应用程序有一个“实时测试”环境,可以让我们使用接近真实的生产设置(电子邮件是真实发送的,等等)来测试我们的应用程序。

我在这个“实时测试”网站上添加了一些按钮,可以让我们快速清除集合(即从 MongoDB 集合中删除所有文档)

ElasticSearch 出现了问题。第一次调用此清除方法时,它工作正常,我有一些错误

如果我在浏览器上单击刷新几次,经过 2-3 次请求最终被接受,但我又遇到了同样的问题:

我将 AWS ElasticSearch 服务与经典的 elasticsearch ruby​​ gem 一起使用。