问题标签 [chewy-gem]
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-4 - 使用耐嚼将 Rails 应用程序连接到 elasticsearch
我正在使用耐嚼的 gem 将 ES 绑定到我的 rails 应用程序。我是耐嚼的新手,所以当我尝试索引模型的字段时遇到问题。该字段是数据库中的文本字段,我在模型中将其序列化为哈希。散列是动态的,并且可能在表单中包含 0 到 n 个元素。字段名称是items任何帮助将不胜感激。
当我做define_type时,如何在我的索引类中索引这样的字段?
这是我的索引器
我的模型
ruby-on-rails - 如何创建 { x = y | y = z | z = 0 } 从哈希中动态阻塞?
尽管上下文可能无关紧要,但我使用 Chewy gem 使用以下代码过滤 Elasticsearch 结果:
我正在寻找一种方法来循环遍历每个元素,property_ids
而不是调用property_ids[0]
,property_ids[1]
等,由单独的分隔or
。在实际使用property_ids
中不会是固定长度。
ruby-on-rails - 无法在使用耐嚼宝石的关系搜索结果中突出显示
我正在将耐嚼的 gem 用于带有 Rails 的 elasticSearch。我有相关文档,我想在结果中同时显示突出显示的字段和其他一些字段。
当我返回搜索结果时,突出显示“主”记录中的匹配项,但“相关记录”中没有(不确定正确的术语是什么)。
我的 search_index.rb 看起来像这样:
查询看起来像这样
当我在标题上找到匹配项时,title 方法会返回突出显示术语的标题文本。但是,我总是将 play_List_items 作为没有突出显示的哈希数组返回。
当我使用“to_a”进行序列化时,我看到在 _data 中有一个名为“highlight”的字段的散列,其中包括突出显示,但它只有匹配的字段,所以我不知道如何显示关联的 thumb_square (出现在_data.source中)与 item_title 一起突出显示。
我不知道这是否与耐嚼的宝石或一般的弹性搜索有关。
ruby-on-rails - Chewy Gem - 查询以获取包含特定日期的日期范围
我在 Rails 应用程序上使用 ElasticSearch 和耐嚼的 GEM。我会帮忙翻译一下:
使用有嚼劲的过滤器。我尝试长时间完成这项工作,但没有成功。
任何形式的帮助都会很棒。
谢谢
ruby-on-rails - 我可以在带有 ElasticSearch 的 Angular 视图中使用 Rails ActiveRecord Magic 吗?
我想我已经知道了这个问题的答案,但我还是要问它。
我有一个 rails 应用程序,并将 angular 集成到应用程序的一个区域中以获得一些魔力。为了添加到组合中,我正在集成 Chewy gem 以使用 ElasticSearch。
所以,使用这个例子:
我有一个具有以下字段的演示模型:
- ID
- 场地编号
- 演示文稿 ID
- 评分
我有一个 Presentations 视图,它通过 Presentation 部分循环,并且我在使用 Angular 做基本相同的事情,我正在循环通过 Presentation 指令。
现在,使用普通的 ERB,当我在 ERB 视图中拉出演示文稿列表时,我可以:<%= presentation.venue.name %>
显示场地名称。
我想知道的是,就像我说的那样,我想我已经知道了这个问题的答案,当我循环通过我的 Presentation 指令时,通过这个角度路线,即使它是一个 _presentation.html.erb 文件我可以' t 使用活动记录关系,因为 javascript get 在 html 之后呈现。
因此,在我的角度指令模板中,我将在哪里有presentation.venue.name,我需要一个角度函数来将其拉入,对吗?
有什么方法,当我通过 ElasticSearch/Chewy 提取数据时,我也可以提取这些数据吗?这是我唯一相信的其他选择?
ruby-on-rails - 从搜索结果链接到模型元素(Chewy、Rails)
我已经实现了对用户模型的搜索(使用 Chewy gem 的 Elasticsearch)。
意见/搜索/search.html.erb:
路线.rb:
我需要的是为每个搜索结果行添加一个指向用户的链接。(如何将 Chewy 用户索引与用户页面连接起来)
更新:
我将 search.html.erb 中的最后一段更改为:
搜索结果现在可以点击,但我收到以下错误:
ProfilesController#show 中的 ActiveRecord::RecordNotFound 找不到具有 'id'=#UsersIndex::User:0x007fa1050ebed0> 的用户
我的profiles_controller.rb:
ruby-on-rails - 使用 Chewy Gem 获得 10 多个结果 - ElasticSearch & Rails
使用耐嚼的宝石,如果我运行:
它总是返回 10 次。
我知道这是一个 ElasticSearch 默认值,并且我已经阅读了这个问题,它说我应该将size
URL 上的参数设置为一个大数字,以获取所有事件。
问题是我似乎无法找到在哪里设置 URL 参数以在耐嚼的 gem 上为 elasticSearch 服务器的请求设置 URL 参数,以便它会在内部执行这样的获取请求:
更新:
嗯......在我发布我的问题几分钟后,我似乎找到了解决方案。如果我使用这样的limit
功能:
我似乎得到了我期望的发生次数。现在我问,这是正确的方法吗?
ruby-on-rails - Rspec - Chewy 的绕过策略
耐嚼的文档建议设置:bypass
测试策略,其中:
但我得到一个:
这里我的spec_helper.rb
这里有什么建议吗?
提前致谢
耐嚼版本:0.6.2
导轨版本:4.1.7
rspec 版本:3.1.0
elasticsearch - 弹性搜索和耐嚼:根据项目内容使结果唯一
对不起,标题不够清晰,但我不确定如何用一个简单的句子表达我的问题。
解释一下:我目前工作的应用程序有多种类型的对象,可以链接到标签,由用户添加。目前,每个标签都是数据库中的不同条目。
例如,我有: - 对象 1 标记为:tag1、tag2 - 对象 2 标记为:tag2、tag3 - 对象 3 标记为:tag1、tag3、tag4
标签的表格如下所示:
标签的值也在弹性搜索中被索引(使用耐嚼的 gem),因此应用程序在标签上提供了一些自动完成功能。
主要问题是,当搜索 'ta' 时,Elastic 搜索会返回列表:tag1, tag2, tag2, tag3, tag1, tag3, tag4 这会造成一些麻烦。假设我们有 100 个对象用“tag1”标记,第 101 个对象用“tag2”标记。如果我搜索“ta”,则不会返回“tag2”(因此不会被建议)。
我想要的是搜索查询返回:tag1,tag2,tag3,tag4(我不太关心所说的顺序),所以基本上根据索引标签的值统一结果,而不是整个对象。我希望我的问题足够清楚:)
提前致谢 :)
可能会有所帮助,这里是用于声明索引和索引元素的代码(是的,索引了两个字段,但是已经很难用一个字段来解释了;))
ruby-on-rails - 如何使用耐嚼的 gem 使用 elasticsearch 滚动 api?
我在我的 ROR 应用程序中使用 'chewy' gem 进行弹性搜索。但是我没有找到 elasticsearch scroll api 的任何文档。当我跳转到记录的最后一页时,我遇到了错误。
有什么方法可以在耐嚼的 gem 中实现 elasticsearch scroll api,还是有其他选择?