问题标签 [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.
elasticsearch - 在 elasticsearch-ruby 中使用 percolate 进行批量索引
根据这个问题,elasticsearch 支持使用带有索引(单个文档)或批量(多个文档)的渗透。没有给出批量的例子,所以我按照问题的标题来说明这个功能是 5 年前添加的。
不幸的是,我在 ruby API、elasticsearch-ruby 中找不到有关此功能的任何信息。
有谁知道它是否可用,或者可能有代码示例?
谢谢。
更新:
此页面描述了如何在索引单个文档时进行渗透,并声称可以批量处理。现在,如何在 elasticsearch-ruby 中做到这一点?
如果我想在 .Net 中重写我的项目,看起来NEST 库可以做到这一点(见页面底部)。
ruby - 将 Rails 应用程序连接到 Elasticsearch 服务器
我正在使用 logstash+elasticsearch 来索引服务器日志。Elasticsearch 服务器在 localhost:9200 运行,包含数百万个服务器日志文档。我还有一个在 localhost:3000 运行的 Rails 应用程序。我需要将此 rails 应用程序连接到 ES 服务器。
我已经阅读了有关“elasticsearch-rails”gem 的信息,但是我在任何地方都使用 ActiveRecords/Models 找到了它们。但是,我认为这不需要 ActiveRecords。我只需要一种方法来查询 ES 服务器索引并在我的 Rails 应用程序中获取文档。
有没有办法做到这一点?任何人都可以帮我解决这种情况吗?如果我不清楚我的问题,请发表评论。
提前致谢。
elasticsearch-rails - 使用 elasticsearch-persistence ruby 的映射器附件类型的自定义映射
在我的项目中,我使用mapper-attachments插件将数据存储在活动记录模型中并在弹性搜索中索引 html 文档。我的文档映射如下所示:
我运行查询以仔细检查我的文档映射和结果:
它工作得很好(上面的类型:'附件')。我可以完美地通过 html doc 进行搜索。
我的 mysql 的 activerecord 存在性能问题,我真的不需要将它存储在数据库中,所以我决定迁移到存储在 elasticsearch 中。
我正在使用elasticsearch-persistence gem 进行实验。
我将映射配置如下:
但是当我对映射进行查询时,我得到了这样的结果:
这是错误的。谁能告诉我如何使用附件类型进行映射?
非常感谢您的帮助。
ruby-on-rails - 如何使 ElasticSearch 客户端在应用程序范围内可用?
我elasticsearch_ruby
在 Rails 应用程序中使用。我选择不使用elasticsearch_rails
是因为我不想与我的 ActiveRecord 对象进行如此紧密的集成。
使用elasticsearch_ruby
and elasticsearch_transport
,一个新的客户端是这样创建的:
如何使此客户端可在整个应用程序范围内访问。我只想创建一次实例,然后在应用程序范围内使用它。
这样做的最佳做法是什么?
似乎我缺少一些明显的东西。
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
痕迹
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
ruby - 如何在 Elasticsearch ruby 查询中添加 OR 条件?
在我的用例中,我想在 Elasticsearch 查询中添加一个 OR 条件。这是我的查询,
我想'term' => {"@dest" => ' '}
为@dest添加空检查以及'term' => {"@dest" => dest}
我试图添加一个或条件,但它不起作用。
有人可以帮我解决这个问题吗?
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。
任何正确方向的帮助或指导将不胜感激,我很乐意根据需要附上尽可能多的信息。
ruby-on-rails - 在 Ruby 中使用弹性搜索 gem 时在哪里指定集群详细信息
我想Elastic Search Cluster
从我的rails
应用程序中访问数据。假设服务器正在运行,http://localhost:9200
我想访问端点http://localhost:9200/location/type
。
以下本文档并遇到了此示例:
问题:
- 我将在哪里定义我
elasticsearch cluster
在代码中的详细信息?集群运行在http://localhost:9200/
elasticsearch - 如何在弹性搜索查询中传递特定字段的值列表
我有一个查询provider_id
要从Elastic Search Cluster
. 我正在使用以下查询来获取单个结果, provider_id
但在弄清楚如何传递提供者列表时需要帮助。
假设我想搜索provider_ids = [913523, 923523, 923523, 933523, 953523]
那么我应该如何修改查询?