问题标签 [elasticsearch-ruby]

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 投票
2 回答
1116 浏览

elasticsearch - 在 elasticsearch-ruby 中使用 percolate 进行批量索引

根据这个问题,elasticsearch 支持使用带有索引(单个文档)或批量(多个文档)的渗透。没有给出批量的例子,所以我按照问题的标题来说明这个功能是 5 年前添加的。

不幸的是,我在 ruby​​ API、elasticsearch-ruby 中找不到有关此功能的任何信息。

有谁知道它是否可用,或者可能有代码示例?

谢谢。

更新:

此页面描述了如何在索引单个文档时进行渗透,并声称可以批量处理。现在,如何在 elasticsearch-ruby 中做到这一点?

如果我想在 .Net 中重写我的项目,看起来NEST 库可以做到这一点(见页面底部)。

0 投票
1 回答
315 浏览

ruby - 将 Rails 应用程序连接到 Elasticsearch 服务器

我正在使用 logstash+elasticsearch 来索引服务器日志。Elasticsearch 服务器在 localhost:9200 运行,包含数百万个服务器日志文档。我还有一个在 localhost:3000 运行的 Rails 应用程序。我需要将此 rails 应用程序连接到 ES 服务器。

我已经阅读了有关“elasticsearch-rails”gem 的信息,但是我在任何地方都使用 ActiveRecords/Models 找到了它们。但是,我认为这不需要 ActiveRecords。我只需要一种方法来查询 ES 服务器索引并在我的 Rails 应用程序中获取文档。

有没有办法做到这一点?任何人都可以帮我解决这种情况吗?如果我不清楚我的问题,请发表评论。

提前致谢。

0 投票
1 回答
840 浏览

elasticsearch-rails - 使用 elasticsearch-persistence ruby​​ 的映射器附件类型的自定义映射

在我的项目中,我使用mapper-attachments插件将数据存储在活动记录模型中并在弹性搜索中索引 html 文档。我的文档映射如下所示:

我运行查询以仔细检查我的文档映射和结果:

它工作得很好(上面的类型:'附件')。我可以完美地通过 html doc 进行搜索。

我的 mysql 的 activerecord 存在性能问题,我真的不需要将它存储在数据库中,所以我决定迁移到存储在 elasticsearch 中。

我正在使用elasticsearch-persistence gem 进行实验。

我将映射配置如下:

但是当我对映射进行查询时,我得到了这样的结果:

这是错误的。谁能告诉我如何使用附件类型进行映射?

非常感谢您的帮助。

0 投票
1 回答
92 浏览

ruby-on-rails - 如何使 ElasticSearch 客户端在应用程序范围内可用?

elasticsearch_ruby在 Rails 应用程序中使用。我选择不使用elasticsearch_rails是因为我不想与我的 ActiveRecord 对象进行如此紧密的集成。

使用elasticsearch_rubyand elasticsearch_transport,一个新的客户端是这样创建的:

如何使此客户端可在整个应用程序范围内访问。我只想创建一次实例,然后在应用程序范围内使用它。

这样做的最佳做法是什么?

似乎我缺少一些明显的东西。

0 投票
2 回答
93 浏览

ruby - validates_uniqueness_of elasticsearch 持久性

如何validates_uniqueness_of进行弹性搜索持久性。我有一个带有 include 语句的模型

include Elasticsearch::Persistence::Model

我想包括一个唯一性验证,比如 validates_uniqueness_of :username

当我尝试使用new函数 进行初始化时NoMethodError: undefined method validates_uniqueness_of for class

痕迹

0 投票
1 回答
79 浏览

ruby - 分析同一搜索字段两次在 ElasticSearch 中的子字段上返回 0 个结果

我有一个名为的字段search_text,它是一个全文搜索字段。

我正在使用 ngrams 来索引这个字段,我想添加一个新的子字段search_text.words来索引整个单词。

我试图实现这一点,但查询search_text.words总是返回 0 个命中。

我正在这样创建它:

我在这里有一个完整的演示:

https://www.dropbox.com/s/wwxm3qe0oxc2z5y/Slimmed%20ElasticSearch%20Text%20%281%29.html?dl=0

0 投票
1 回答
88 浏览

ruby - 如何在 Elasticsearch ruby​​ 查询中添加 OR 条件?

在我的用例中,我想在 Elasticsearch 查询中添加一个 OR 条件。这是我的查询,

我想'term' => {"@dest" => ' '}为@dest添加空检查以及'term' => {"@dest" => dest}

我试图添加一个或条件,但它不起作用。

有人可以帮我解决这个问题吗?

0 投票
1 回答
584 浏览

ruby-on-rails - 用于 Elasticsearch 的 Faraday::SSLError

目前遇到一个问题,即我通过 elasticsearch-client 与 elasticsearch 通信的后台工作人员在 Faraday 内部遇到 SSL 错误。

错误是这样的:

SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure

配置在某些时候运行良好(大约 50% 左右),并且在控制台会话中对我来说从未失败过。

该命令的跟踪是这样的: curl -X GET 'https://<host>/_alias/models_write?pretty

客户端配置是这样的

如您所见,我将 ssl 版本明确设置为 TSLv1_2,但仍然收到 SSLv3 错误。

以为可能是比赛条件问题。所以运行了一个脚本,产生了大约 10 个进程,每个进程有 50 个线程,并在内部调用 sidekiq perform 方法,但仍然无法重现。

如果这完全相关,我正在使用托管的 AWS 2.3 Elasticsearch。

任何正确方向的帮助或指导将不胜感激,我很乐意根据需要附上尽可能多的信息。

0 投票
1 回答
591 浏览

ruby-on-rails - 在 Ruby 中使用弹性搜索 gem 时在哪里指定集群详细信息

我想Elastic Search Cluster从我的rails应用程序中访问数据。假设服务器正在运行,http://localhost:9200我想访问端点http://localhost:9200/location/type

以下本文档并遇到了此示例:

问题:

  • 我将在哪里定义我elasticsearch cluster在代码中的详细信息?集群运行在http://localhost:9200/
0 投票
1 回答
6396 浏览

elasticsearch - 如何在弹性搜索查询中传递特定字段的值列表

我有一个查询provider_id要从Elastic Search Cluster. 我正在使用以下查询来获取单个结果, provider_id但在弄清楚如何传递提供者列表时需要帮助。

假设我想搜索provider_ids = [913523, 923523, 923523, 933523, 953523]那么我应该如何修改查询?