问题标签 [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 回答
263 浏览

ruby-on-rails - 弹性搜索查询搜索 1=0 并且不返回任何结果

我最近使用 elasticsearch-rails 和 elasticsearch-model gems 将 ES 添加到 Ruby on Rails 应用程序中。我已经为我的模型添加了适当的索引和映射并将其导入。但我的搜索总是返回 0 条记录。该查询始终搜索 1=0。

然而:

我希望这里返回 1 条记录,但没有匹配项。

谁能帮我这个?我在这里错过了什么吗?

Report.import 显示导入了 4 条记录,但索引页面中的文档计数没有变化。

0 投票
0 回答
324 浏览

elasticsearch - Elasticsearch - 索引字段中的唯一值

我有以下类型的索引:

在索引的监视列表数组中,存储了重复值。我希望索引不要存储重复值,因为这会增加索引的大小。

我知道我可以通过调用聚合来获取唯一值,但我在这里要做的是将唯一值存储在索引中。

我在这里使用 elasticsearch rails,它根据从 'as_indexed_json' 方法返回的 json 索引数据。上述索引的数据在 sql 数据库中,我无法更改。我只能从该数据库创建索引,所以我需要对字段“监视列表”进行一些“唯一性”约束。

有没有办法做到这一点?

0 投票
1 回答
891 浏览

ruby-on-rails - Elasticsearch Rails 过滤器

我正在使用 elasticsearch-model gem 构建 Rails Web 应用程序。我想为我的 Place 模型构建带有过滤功能的搜索查询。我成功地按名称进行搜索,但是我希望能够用城市过滤我的搜索(在这个例子中是伦敦)。

现在我的查询看起来像这样:

而不是我简单的调用Place.search("here goes query").records.to_a

没有过滤器部分搜索工作正常,但是当我添加过滤器时,我没有得到任何结果。

这是地方搜索的映射:

这是我用来查看如何过滤的链接:Elasticsearch doc

0 投票
0 回答
359 浏览

ruby-on-rails - 在 Elastic Search 中搜索次数最多的关键字

在 Elastic Search 中,如何获取搜索次数最多的字符串?我试图得到这个结果,但没有成功。

例如:多个用户搜索工作“stackoverflow”。ElasticSearch 搜索作品“stackoverflow”的总次数是多少

或作为一个聚合:

stackoverflow:98 次
redcarpet:40 次

……

0 投票
2 回答
747 浏览

ruby-on-rails - Elasticsearch datetime object in rails not properly hydrated from index, reads as string

I have an indexed field defined as :date that is a method to determine which DateTime object to store.

And in my as_indexed_json I have it listed under :methods

It properly indexes the desired value as "date": "2016-05-19T09:43:09-04:00" but when I read the value after searching, the date comes back as class String instead of any of the date classes.

I have fiddled with some of the available format values on that field such as date_time_no_millis, strict_ date_time_no_millis, and "yyyy-MM-dd'T'HH:mm:ssZ", but it appears that that only adjusts the setting and understanding of the value, rather than the reading and class hydration of them.

How can I get this date value to read back as a Rails DateTime as it exists in my DB?

Previously posted as a Github Issue with no response.

0 投票
1 回答
132 浏览

elasticsearch - ElasticsearchIllegalArgumentException [建议 [完成] 需要设置上下文]

我正在使用 Elastic Search 为名为 people 的索引实现自动建议字段:

该字段的映射如下person_name_suggest-

我需要弹性搜索的请求如下:

我收到以下错误 - "error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[OsbgjmewT569a-7ZoNCMtg][people_2016_10_29][0]: SearchParseException[[people_2016_10_29][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"suggest":{"suggestions":{"text":"M","completion":{"field":"person_name_suggest","context":890,"size":10}}}}]]]; nested: ElasticsearchIllegalArgumentException[suggester [completion] requires context to be setup]; }

据我所知,我已经正确设置了完成建议器。

有人能指出我正确的方向吗?

正在使用的 ElasticSearch 版本是1.6

0 投票
1 回答
192 浏览

ruby-on-rails - 带有产品图片和其他选项的 Elasticsearch 自动完成功能

最近我开始学习弹性搜索,目前正在处理一些示例产品数据。现在我想建议用户输入产品。我已经检查了Completion Suggester的一些文档并实施了一些完成示例。

我检查了使用_suggest比使用普通_search的一些好处,例如

  • 速度
  • 即时的
  • 可读性
  • 定制订购

这是我尝试过的脚本:

但是现在,我想实现建议器,它将建议作为用户类型,带有产品图片和其他带有产品名称的选项,如添加到购物车等

我在 elasticsearch-rails gem over ruby​​ on rails 的帮助下实现了这一切。

那么我可以使用普通完成类型来执行此操作,因为它提供了很多搜索功能,否则普通搜索将适用于这种情况?

0 投票
1 回答
3013 浏览

ruby-on-rails - Elasticsearch Rails as_indexed_json 与映射

我正在使用 Elasticsearch Rails gem,并且在我的模型中使用了两件事:

我已阅读文档,但我不明白每个文档的目的是什么。我想弄清楚的是这些是用于搜索索引数据还是用于创建索引数据?

0 投票
1 回答
908 浏览

ruby-on-rails - Elasticsearch Rails 索引问题

我正在使用 Elasticsearch 和 Elasticsearch Rails gem。我有两个通过 ActiveRecord 关联的模型,我正在尝试使用 Elasticsearch 对它们进行索引和搜索。

这是我的商店模型

商店.rb

这是我的地址模型:

我也使用 Searchkit 作为我的前端 UI。Searchkit 能够聚合和显示商店模型中的所有属性(例如商店编号和经理)。但是,它无法查看嵌套项。换句话说,我无法聚合和检索客户下的工作下的 job_numbers。我可以查看客户姓名等。我尝试在作业和所有其他对象旁边使用 type: "nested" ,但这并没有什么不同。我也尝试过调整 as_indexed_json ,但没有任何运气。有人对此有任何想法吗?我被这个难住了。

0 投票
1 回答
912 浏览

ruby-on-rails - 如何在弹性搜索中查询数组元素

这是我的模型在弹性搜索中的索引

我可以使用查询 category_id

Car.__elasticsearch__.search query:{match:{category_id: 6}}

如何查询 car_branches?我试过这个

response = Car.__elasticsearch__.search query:{match:{car_branches:[id: 32]}}

我正进入(状态Elasticsearch::Transport::Transport::Errors::BadRequest: [400]