问题标签 [elasticsearch-rails]

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 投票
0 回答
49 浏览

ruby-on-rails - 是否可以使用一个多索引查询来获得每个索引限制的结果?

我正在开发一个 Rails 应用程序,该应用程序使用 Elasticsearch 来索引和搜索三种类型的文档,我们将它们A称为. 它们是相关的,但如何并不重要。有一个搜索视图,您可以在其中搜索并返回 3 个不同类别下的项目。最初的设置是在一个列表中列出所有类别的 20 个顶级结果,但现在效果不太好。BC

现在,该视图将具有 3 个不同的选项卡,其中一个用于每个索引的结果。然后,当前的方法将崩溃,因为我希望每个类别独立地获得多达 10 个结果,而不是说 23 个A、2 个B和 5 个C,如果我只是增加结果限制以希望获得传播,就会发生这种情况。如果我在 Go 中执行此操作,我很乐意将其拆分为 3 个更简单的并发请求,但我很犹豫是否在 Ruby 中尝试此操作,因为我对它还很陌生。根据我的研究,我的选择似乎是:

  • 让当前的 Elasticsearch 查询最多返回 30 个结果,每个索引的限制为 10 个(我的问题)
  • 委托给wget系统上的 3 个后台调用,稍后旋转等待结果
  • 使用多线程方法(Ruby 进程启动时间太长)。我正在使用的所有 Gems 中会出现线程安全蠕虫的前景让我感到害怕。

第一个绝对完美,我只是不知道如何通过阅读文档来完成这一点。我知道您可以将结果汇总到听起来接近我想要的存储桶中,但是是否可以单独限制每个索引的结果数量?

0 投票
1 回答
1478 浏览

postgresql - Elasticsearch search on phone numbers

I have postgres array column which I wanted to be indexed and then use it in search. Here is example below,

phones = [ "+175 (2) 123-25-32", "123456789", "+12 111-111-11" ]

I have analyzed the tokens using analyze api, elasticsearch is tokenizing the field into multiple fields as follow

I wanted elasticsearch either to not do the tokenization and store the numbers without special characters e.g "+175 (2) 123-25-32" to be converted into "+17521232532" OR simply index the number as it is so that It would be available in search result.

My mapping is as below,

Here is how I am trying todo the query

P.S I have also tried by removing the special characters but no luck.

I am sure it is achievable and I am missing something. Suggestions please.

Thanks.

0 投票
2 回答
2596 浏览

ruby - Elasticsearch 过滤最大值文档

我试图从同名记录中获取文档的最大值。例如,我有 3 个用户,其中 2 个同名但关注者数不同,我想根据 follower_count 的最大值从 2 个同名的同名文档中只返回 1 个文档。

所以结果是,

从2个相同的名字中,拥有最多关注者的人获胜,另外一个人也会来。

我有如下映射,

这是我长期被困的地方,

请有任何建议

0 投票
1 回答
452 浏览

ruby-on-rails-4 - 我怎样才能在 elasticsearch-rails 中保持同步

我在mysql中有一个现有数据。

我使用 rake 任务将所有记录从 mysql 导入到 elasticsearch

但是,我想知道当我在 Rails 中删除、更新、插入记录时如何保持同步

Rails 怎么会触发对 elasticsearch 的修改呢?谢谢

模型

耙任务

对于初始 ES 索引

0 投票
1 回答
207 浏览

ruby-on-rails - Elasticsearch query_string 多值字段

我在我的Ruby on Rails项目的 1 中使用ElasticSearch 。对于 ElasticSearch,我大量使用query_string

以下是我的项目设置:

Ruby-2.2.4、Rails-4.2.0、ElasticSearch-Model-0.1.8

我已经索引了数据。使用Article.import

现在,在控制台中,我正在获取所有已发布的文章计数,我正在使用:

这很好用!现在,我想通过user_ids查找文章

上面的 SQL 就像魅力一样工作!

但是,当我尝试对query_string使用相同的概念时,它不起作用!

这给了我结果:

请帮助我了解我需要做什么才能完成这项工作!我在谷歌上搜索了很多,发现了几个选项,如 RANGE、TO 等,但不是这个:(

希望早日收到你的消息!

0 投票
0 回答
193 浏览

elasticsearch - NGRAM 在 Elasticsearch Rails 中不起作用

我有一张有 job_title 字段的表,

我想做一个模糊搜索,让用户在拼错查询关键字时仍然可以得到结果。

例如,我有很多记录都有“Android开发者”作为它的job_title,

当用户发出不正确的搜索Job.es_qsearch("Andoirddd")时,它应该在NGRAM_ANALYZER

但是,我可以从不正确的关键字中得到任何结果。

我只能在输入时得到结果Job.es_qsearch("Android")

我怎样才能达到我期望的搜索结果。

谢谢

工作.rb

我使用了模糊查询,但它仍然无法正常工作

模糊查询将此查询发送到 ES 搜索

模糊查询1:不工作

模糊查询1:不工作

0 投票
0 回答
561 浏览

ruby-on-rails - elasticsearch-rails 映射如何转换为 elasticsearch 索引配置?

我正在使用 elasticsearch-rails (elasticsearch-model) gem,我对 model-dsl 最终如何转换为索引配置感到有些困惑。

我有以下代码来直接设置索引,它工作正常:

但是,当我(尝试)在模型中做同样的事情时,我得到一个错误:

错误信息:

如果我可以带上 elasticsearch-model(oder elasticsearch)来向我展示在创建该索引时发送到 elasticsearch 的整个请求,那将会很有帮助。

谢谢你的任何建议:)

0 投票
1 回答
1215 浏览

ruby-on-rails - 在elasticsearch rails中为jsonb字段的属性添加索引

我是 elasticsearch 的初学者,我想为我拥有的 jsonb 字段中的字段添加索引。这不是嵌套关系。

我有带有字段id(整数)、user_id(整数)、data(jsonb)的表有效负载。

示例 jsonb 值如下:

我想为“数据”(jsonb列)的“值”部分内的“性别”字段添加索引。

数据库是postgres。

我添加了索引配置如下:

这是正确的吗?

我得到了查询的准确结果,

但不适用于此查询

提前致谢 !!!

0 投票
0 回答
192 浏览

elasticsearch - Elasticsearch - 动态映射在持有主要节点的节点上不可用

我们有一个使用官方 elasticsearch gem 连接到 elasticsearch 的 rails 应用程序。

我做了一个部署,它只是将一个字段(数字)添加到索引中(通过编辑模型+将其添加到 as_indexed_json),并在搜索中专门通过该字段进行查询。

部署后几分钟,我们的 Elasticsearch 集群中的 3 台服务器中的一台服务器上的负载猛增。然后错误开始在我们的日志中发送垃圾邮件:

拥有主节点的节点上还没有动态映射。

搜索开始变得非常非常缓慢,最终集群完全失败了。

我们不得不强制重启集群,并删除添加字段/搜索的代码,然后一切都开始正常工作了。

我们没有做 PUT 来更新索引的映射,我一直在等待第一个模型索引基本上这样做。

任何想法/指针将不胜感激。

0 投票
1 回答
154 浏览

mysql - Elasticsearch for mysql 查看导轨

如何为 MYSQL 中的视图创建弹性搜索索引?

我尝试为mysql视图的迁移制作模型并在模型中放置

并放入elasticsearch.rb

但似乎该行HistoryView.import 给出了错误

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'history_views.' 在“订单子句”中:SELECT history_views.* FROM history_views ORDER BY history_views。升速限制 1000

我认为 gem 需要一个主键来订购它,并且视图中不存在。

我该如何解决这个问题?我是否必须覆盖 gem 中的某些功能?