问题标签 [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.
ruby-on-rails - 是否可以使用一个多索引查询来获得每个索引限制的结果?
我正在开发一个 Rails 应用程序,该应用程序使用 Elasticsearch 来索引和搜索三种类型的文档,我们将它们A
称为. 它们是相关的,但如何并不重要。有一个搜索视图,您可以在其中搜索并返回 3 个不同类别下的项目。最初的设置是在一个列表中列出所有类别的 20 个顶级结果,但现在效果不太好。B
C
现在,该视图将具有 3 个不同的选项卡,其中一个用于每个索引的结果。然后,当前的方法将崩溃,因为我希望每个类别独立地获得多达 10 个结果,而不是说 23 个A
、2 个B
和 5 个C
,如果我只是增加结果限制以希望获得传播,就会发生这种情况。如果我在 Go 中执行此操作,我很乐意将其拆分为 3 个更简单的并发请求,但我很犹豫是否在 Ruby 中尝试此操作,因为我对它还很陌生。根据我的研究,我的选择似乎是:
- 让当前的 Elasticsearch 查询最多返回 30 个结果,每个索引的限制为 10 个(我的问题)
- 委托给
wget
系统上的 3 个后台调用,稍后旋转等待结果 - 使用多线程方法(Ruby 进程启动时间太长)。我正在使用的所有 Gems 中会出现线程安全蠕虫的前景让我感到害怕。
第一个绝对完美,我只是不知道如何通过阅读文档来完成这一点。我知道您可以将结果汇总到听起来接近我想要的存储桶中,但是是否可以单独限制每个索引的结果数量?
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.
ruby - Elasticsearch 过滤最大值文档
我试图从同名记录中获取文档的最大值。例如,我有 3 个用户,其中 2 个同名但关注者数不同,我想根据 follower_count 的最大值从 2 个同名的同名文档中只返回 1 个文档。
所以结果是,
从2个相同的名字中,拥有最多关注者的人获胜,另外一个人也会来。
我有如下映射,
这是我长期被困的地方,
请有任何建议
ruby-on-rails-4 - 我怎样才能在 elasticsearch-rails 中保持同步
我在mysql中有一个现有数据。
我使用 rake 任务将所有记录从 mysql 导入到 elasticsearch
但是,我想知道当我在 Rails 中删除、更新、插入记录时如何保持同步
Rails 怎么会触发对 elasticsearch 的修改呢?谢谢
模型
耙任务
对于初始 ES 索引
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 等,但不是这个:(
希望早日收到你的消息!
elasticsearch - NGRAM 在 Elasticsearch Rails 中不起作用
我有一张有 job_title 字段的表,
我想做一个模糊搜索,让用户在拼错查询关键字时仍然可以得到结果。
例如,我有很多记录都有“Android开发者”作为它的job_title,
当用户发出不正确的搜索Job.es_qsearch("Andoirddd")
时,它应该在NGRAM_ANALYZER
但是,我可以从不正确的关键字中得到任何结果。
我只能在输入时得到结果Job.es_qsearch("Android")
我怎样才能达到我期望的搜索结果。
谢谢
工作.rb
我使用了模糊查询,但它仍然无法正常工作
模糊查询将此查询发送到 ES 搜索
模糊查询1:不工作
模糊查询1:不工作
ruby-on-rails - elasticsearch-rails 映射如何转换为 elasticsearch 索引配置?
我正在使用 elasticsearch-rails (elasticsearch-model) gem,我对 model-dsl 最终如何转换为索引配置感到有些困惑。
我有以下代码来直接设置索引,它工作正常:
但是,当我(尝试)在模型中做同样的事情时,我得到一个错误:
错误信息:
如果我可以带上 elasticsearch-model(oder elasticsearch)来向我展示在创建该索引时发送到 elasticsearch 的整个请求,那将会很有帮助。
谢谢你的任何建议:)
ruby-on-rails - 在elasticsearch rails中为jsonb字段的属性添加索引
我是 elasticsearch 的初学者,我想为我拥有的 jsonb 字段中的字段添加索引。这不是嵌套关系。
我有带有字段id
(整数)、user_id
(整数)、data
(jsonb)的表有效负载。
示例 jsonb 值如下:
我想为“数据”(jsonb列)的“值”部分内的“性别”字段添加索引。
数据库是postgres。
我添加了索引配置如下:
这是正确的吗?
我得到了查询的准确结果,
但不适用于此查询
提前致谢 !!!
elasticsearch - Elasticsearch - 动态映射在持有主要节点的节点上不可用
我们有一个使用官方 elasticsearch gem 连接到 elasticsearch 的 rails 应用程序。
我做了一个部署,它只是将一个字段(数字)添加到索引中(通过编辑模型+将其添加到 as_indexed_json),并在搜索中专门通过该字段进行查询。
部署后几分钟,我们的 Elasticsearch 集群中的 3 台服务器中的一台服务器上的负载猛增。然后错误开始在我们的日志中发送垃圾邮件:
拥有主节点的节点上还没有动态映射。
搜索开始变得非常非常缓慢,最终集群完全失败了。
我们不得不强制重启集群,并删除添加字段/搜索的代码,然后一切都开始正常工作了。
我们没有做 PUT 来更新索引的映射,我一直在等待第一个模型索引基本上这样做。
任何想法/指针将不胜感激。
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 中的某些功能?