问题标签 [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 投票
1 回答
262 浏览

ruby-on-rails - 您可以将 copy_to 与 elasticsearch-rails 一起使用吗?

我正在尝试将collection_title字段复制到title使用copy_to. 这没有任何作用:

我正在使用 elasticsearch gem 的集合:elasticsearch-rails、elasticsearch-model 和 elasticsearch-api。

0 投票
1 回答
1088 浏览

ruby-on-rails - 为什么我们使用像 solr、elastic search 或任何其他搜索引擎这样的搜索引擎,而不是我们有像 ransack 这样的活跃记录宝石

为什么我们使用类似搜索引擎solr,elastic search或任何其他搜索引擎,而不是我们有类似的active record宝石等ransack,meta_search

我是搜索引擎选择的新手。

我知道索引行为和其他可用于搜索引擎。但想知道性能方面或大数据方面的搜索引擎有什么帮助。

我正在创建一个购物网站,但我很困惑我该怎么办?

任何帮助对我来说都是非凡的

0 投票
1 回答
684 浏览

ruby-on-rails-3 - 如何使用关联模型条件搜索 Elasticsearch-rails?

我正在尝试搜索属于特定项目的文档模型 has_and_belongs_to_many 项目。

模型/doc.rb 需要“弹性搜索/模型”

搜索方法如下

此搜索方法完成时没有错误,但没有返回任何内容。

我尝试使用 where([projects.id IN (?)], project_ids) 进行搜索,但它无法搜索属于具有最大大小的项目的文档。
如何通过与关联匹配进行搜索?
提前致谢。

0 投票
1 回答
840 浏览

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

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

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

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

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

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

我将映射配置如下:

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

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

非常感谢您的帮助。

0 投票
1 回答
144 浏览

ruby-on-rails - 在 Elasticsearch-Model 的 `mapping do` 中使用类方法

我正在使用Elasticsearch-Model. 我将所有与搜索相关的方法提取到一个ActiveSupport::Concern. 以下代码是在使用 Tire gem 时编写的,但我将 gem 升级到 Elasticsearch-Rails 和 Elasticsearch-Model,因为 Tire 不支持 Elasticsearch 1.x。当前的实现如下所示:

但我收到了这个错误:

我尝试了很多东西,例如 usinddef included(base)和 then base.eval,但我无法进入class_eval正确的范围。

有任何想法吗?

0 投票
5 回答
6138 浏览

elasticsearch - 将 Elasticsearch 结果范围限定为特定 ID

我有一个关于 Elasticsearch DSL 的问题。

我想进行全文搜索,但将可搜索记录的范围限定为特定的数据库 ID 数组。

在 SQL 世界中,它将是WHERE id IN(1, 2, 3, 4).

我一直在研究,但我发现 Elasticsearch 查询 DSL 文档有点神秘,而且没有有用的示例。谁能指出我正确的方向?

0 投票
0 回答
857 浏览

ruby-on-rails - 升级到 Rails 4.2.5.1 后出现 VersionConflictEngineException

在将 Rails 更新到 4.2.5.1 并更新用户文档后,我不时收到此异常

Elasticsearch::Transport::Transport::Errors::Conflict: [409] {"error":"VersionConflictEngineException[[users][0] [user][1]: 版本冲突,当前 [7],提供 [6] ]","状态":409}

但是,我没有在更新请求中传递任何明确的版本。我想两个不同的进程正在尝试同时更新同一个文档,但是除了 Rails 版本之外它没有改变任何东西。

我正在使用elasticsearch-model(0.1.8)elasticsearch-rails(0.1.8)elasticsearch(1.0.15)elasticsearch-api(1.0.15)和elasticsearch-transport(1.0.15)

elasticsearch版本是Version: 1.2.2, Build: 9902f08/2014-07-09T12:02:32Z, JVM: 1.7.0_65

0 投票
2 回答
785 浏览

ruby-on-rails-4 - Elasticsearch 不使用“not_analyzed”索引

我无法弄清楚为什么 elasticsearch 不使用 not_analysed 索引进行搜索。我的模型中有以下设置,

而且我在 elasticsearch 的映射是正确的,如下所示。

但问题是,当我对未分析的字段(姓名和电子邮件,因为我希望它们不被分析)进行搜索时,它只搜索完整的单词。就像下面的示例一样,它应该返回 John、Johny 和 Tiger,所有 3 条记录。但它只返回 2 条记录。

我正在搜索如下

这就是我在回调中在我的用户对象上创建索引的方式after_save

一些应该匹配的文件

请有任何建议。

0 投票
1 回答
234 浏览

ruby - Ruby On Rails 中的弹性搜索从 0.90 升级到 2.x

在我当前的 Ruby on Rails 应用程序中实现了 elasticsearch,elasticsearch 的版本是0.90,我们使用了“轮胎”gem。

现在我想用最新版本的 elasticsearch("2.x") 更新它。

Tier gem 现在不支持 elasticsearch 版本 1.x/2.x,他们建议使用“elasticsearch-rails”gem,但是如何使用它来将我的应用程序从旧版本迁移到新版本。

0 投票
2 回答
552 浏览

ruby-on-rails - 更像这样的 elasticsearch-rails 和 mongoid 什么都不返回

我使用 MongoDB 来存储有关鞋子的信息。每只鞋都有一个标题(字符串),照片(字符串,这是照片的网址),链接(字符串,原始网站的网址),尺寸(字符串数组),颜色(字符串数组)和价格(字符串)和性别(字符串)。

在我的 project/app/models/shoe.rb 文件中,我有:

在 project/config/initializers/elasticsearch.rb 我有:

在 project/config/mongoid.yml 我有:

现在,在 Rails 控制台中,在运行 elasticsearch 的情况下,我调用Shoe.more_like_this(some_shoe_object).results.to_a它并返回[]. 首先,我的查询包括注释部分,但是当我没有得到任何结果时,我将其注释掉,尽管数据库中有更多与some_shoe_object. 它不应该返回一些东西吗?我使用弹性搜索错了吗?我是初学者。请帮忙!