问题标签 [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 - 弹性搜索查询搜索 1=0 并且不返回任何结果
我最近使用 elasticsearch-rails 和 elasticsearch-model gems 将 ES 添加到 Ruby on Rails 应用程序中。我已经为我的模型添加了适当的索引和映射并将其导入。但我的搜索总是返回 0 条记录。该查询始终搜索 1=0。
然而:
我希望这里返回 1 条记录,但没有匹配项。
谁能帮我这个?我在这里错过了什么吗?
Report.import 显示导入了 4 条记录,但索引页面中的文档计数没有变化。
elasticsearch - Elasticsearch - 索引字段中的唯一值
我有以下类型的索引:
在索引的监视列表数组中,存储了重复值。我希望索引不要存储重复值,因为这会增加索引的大小。
我知道我可以通过调用聚合来获取唯一值,但我在这里要做的是将唯一值存储在索引中。
我在这里使用 elasticsearch rails,它根据从 'as_indexed_json' 方法返回的 json 索引数据。上述索引的数据在 sql 数据库中,我无法更改。我只能从该数据库创建索引,所以我需要对字段“监视列表”进行一些“唯一性”约束。
有没有办法做到这一点?
ruby-on-rails - Elasticsearch Rails 过滤器
我正在使用 elasticsearch-model gem 构建 Rails Web 应用程序。我想为我的 Place 模型构建带有过滤功能的搜索查询。我成功地按名称进行搜索,但是我希望能够用城市过滤我的搜索(在这个例子中是伦敦)。
现在我的查询看起来像这样:
而不是我简单的调用Place.search("here goes query").records.to_a
没有过滤器部分搜索工作正常,但是当我添加过滤器时,我没有得到任何结果。
这是地方搜索的映射:
这是我用来查看如何过滤的链接:Elasticsearch doc
ruby-on-rails - 在 Elastic Search 中搜索次数最多的关键字
在 Elastic Search 中,如何获取搜索次数最多的字符串?我试图得到这个结果,但没有成功。
例如:多个用户搜索工作“stackoverflow”。ElasticSearch 搜索作品“stackoverflow”的总次数是多少
或作为一个聚合:
stackoverflow:98 次
redcarpet:40 次
……
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.
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
ruby-on-rails - 带有产品图片和其他选项的 Elasticsearch 自动完成功能
最近我开始学习弹性搜索,目前正在处理一些示例产品数据。现在我想建议用户输入产品。我已经检查了Completion Suggester的一些文档并实施了一些完成示例。
我检查了使用_suggest比使用普通_search的一些好处,例如
- 速度
- 即时的
- 可读性
- 定制订购
这是我尝试过的脚本:
但是现在,我想实现建议器,它将建议作为用户类型,带有产品图片和其他带有产品名称的选项,如添加到购物车等
我在 elasticsearch-rails gem over ruby on rails 的帮助下实现了这一切。
那么我可以使用普通完成类型来执行此操作,因为它提供了很多搜索功能,否则普通搜索将适用于这种情况?
ruby-on-rails - Elasticsearch Rails as_indexed_json 与映射
我正在使用 Elasticsearch Rails gem,并且在我的模型中使用了两件事:
和
我已阅读文档,但我不明白每个文档的目的是什么。我想弄清楚的是这些是用于搜索索引数据还是用于创建索引数据?
ruby-on-rails - Elasticsearch Rails 索引问题
我正在使用 Elasticsearch 和 Elasticsearch Rails gem。我有两个通过 ActiveRecord 关联的模型,我正在尝试使用 Elasticsearch 对它们进行索引和搜索。
这是我的商店模型
商店.rb
这是我的地址模型:
我也使用 Searchkit 作为我的前端 UI。Searchkit 能够聚合和显示商店模型中的所有属性(例如商店编号和经理)。但是,它无法查看嵌套项。换句话说,我无法聚合和检索客户下的工作下的 job_numbers。我可以查看客户姓名等。我尝试在作业和所有其他对象旁边使用 type: "nested" ,但这并没有什么不同。我也尝试过调整 as_indexed_json ,但没有任何运气。有人对此有任何想法吗?我被这个难住了。
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]