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

elasticsearch - ElasticSearch 嵌套查询 - 排除父文档

尝试排除其中一个子文档与查询不匹配的顶级文档。

对于下面的示例,我试图排除其中一个嵌套作业具有current: true并且与company name: Elastic. 但由于其中一个嵌套作业文档与current: falseand company匹配name: Elastic,因此返回此文档。我正在使用嵌套查询,其中必须匹配公司名称和过滤器,其中 current: false。我怎样才能使它不返回以下文件?

0 投票
0 回答
144 浏览

ruby-on-rails - Elasticsearch 不索引子文档 - Ruby on Rails

我正在使用 elasticsearch-rails gem,并且我的订单对象在创建时没有被完全索引。这是我的代码:

当我调用 self.index_orders 时,一切都按预期工作。但是,在创建订单时,after_commit 函数不会索引 order_addresses,因为它们是在 as_indexed_json 函数中指定的。

我还没有找到其他人有这个问题。有谁知道如何在 after_create 中索引 order_addresses?

更新

我还没有找到解决这个问题的方法。任何帮助,将不胜感激。

0 投票
1 回答
262 浏览

ruby-on-rails - 您如何使用 Elasticsearch::Model.search() 跨多个模型预加载记录?

使用 elasticsearch-rails/elasticsearch-model gems。

我知道您可以在单个模型上使用代理执行以下操作:

MyModel.__elasticsearch__.search(search_hash).records.includes(:my_association)

我需要在包含相同关联的相似模型中进行搜索,这些关联我想要预先加载。尽管使用“未定义的方法”,但会出现以下错误。

Elasticsearch::Model.search(search_hash, [MyModel, MyOtherModel]).records.includes(:my_association)

两个.records调用似乎都返回一个Elasticsearch::Model::Response::Records对象,但似乎.includes只对通过 ES 代理的单个模型有效。

跨多个模型搜索时,有没有办法轻松做到这一点?

0 投票
2 回答
6270 浏览

ruby-on-rails - Elasticsearch::Transport::Transport::Errors::NotFound ([404] {"error":{"root_cause":[{"type":"index_not_found_exception"

不确定在本地环境中工作时elasticsearch遇到这个奇怪的错误,我将不胜感激。谢谢

Elasticsearch::Transport::Transport::Errors::NotFound ([404] {"error":{"root_cause":[{"type":"index_not_found_exception","re​​ason":"no such index","re​​source. type":"index_or_alias","re​​source.id":"invoices","index":"invoices"}],"type":"index_not_found_exception","re​​ason":"no such index","re​​source.type" :"index_or_alias","re​​source.id":"invoices","index":"invoices"},"status":404})

0 投票
0 回答
41 浏览

ruby-on-rails - 多对多 ElasticSearch - Rails

我正在使用 elasticsearch-rails gem,并且正在尝试搜索与另一个模型具有多对多关系的模型。

这是我的模型:

我知道 ES 不支持多对多关联,所以我相信我应该能够为每个客户文档索引一个关联位置 ID 的数组。我不知道该怎么做。因此,我希望能够搜索客户数据库并设置过滤器,以便仅搜索与特定位置关联的客户。

我目前没有任何映射。这主要是我需要帮助的地方。

这是我使用以前的项目构建的查询,该项目正确处理了产品数据库的过滤。除了按相关位置过滤外,我想在这里做同样的事情。

提前致谢。

0 投票
1 回答
206 浏览

elasticsearch - ElasticSearch 对存储桶结果应用限制

我的情况是,我对 ElasticSearch 结果应用了限制,但它对我不起作用。我已经阅读了 下面的ES 指南 是我的代码:

restaurant_ids 函数返回大约 5.5k 家餐厅,所以在这种情况下,我收到错误“circuit_breaking_exception”,“reason”:“[request] 数据太大,[] 的数据将是 [622777920/593.9mb],大于[622775500/593.9mb]"的限制。这就是为什么我想应用一些限制,这样我一次只能获得几百条记录。

谁能指导我哪里做错了?

0 投票
1 回答
24 浏览

ruby-on-rails - ElasticSearch 根据 restaurant_id 及其平均时间显示数据

我对 ElasticSearch 很陌生,我想知道是否可以根据 restaurant_id 显示数据,然后显示确认订单的平均时间。例如,我有文件:

以上是存储在ES中的文档,现在我必须根据restaurant_id显示数据,然后是平均时间。所以现在我使用下面的代码并显示错误“原因”:“[terms] unknown field [avg], parser not found”

0 投票
1 回答
4054 浏览

elasticsearch - ElasticSearch 缺少聚合定义 [unique_users] 错误

我正在使用 ES 和 Ruby on Rails,我必须列出所有唯一用户,所以下面是我用来获取它的代码。

以下是回复:

这仅显示唯一用户的数量,但此查询不显示电子邮件列表,因此此查询中的问题在哪里。有人可以指导我吗?

现在我正在使用代码,它与用户列表一起工作正常,它很重要。

现在得到上面的代码响应是:

现在一切都很完美,但是响应中有些东西有点令人困惑,所以我必须删除它,即doc_count: 134因为我想保留users_count并删除doc_count。因此,为此我从方法中删除了过滤器:{ match_all: {} },然后出现错误Missing definition for aggregation [unique_users]

0 投票
1 回答
169 浏览

ruby-on-rails - ElasticSearch Aggregator with sorting by text/keyword

I have elasticsearch set up for searching across a products catalog's variants. Basically where:

Product has_many variants Variant belongs_to product

And the variant index json / mapping contains the product name.

I am trying to search variants, grouped by product id, bucket size of 1. I am able to do it and sort by min price, max price, etc.

This works:

This is (sort of) what I need next:

My last task is about sorting them alphabetically, but I dont seem to be able to sort by a keyword field (asc/desc) using an aggregator.

0 投票
3 回答
8676 浏览

ruby-on-rails - 运行测试时的 ElasticSearch Rails resource_already_exists_exception

我正在尝试运行我的一项测试,该测试进行搜索,试图断言在搜索结果中包含记录,但与此同时,我收到一个Elasticsearch::Transport::Transport::Errors::BadRequest错误:

当我在开发中执行搜索时,它按预期工作,但在测试中抛出这样的错误,在测试中我添加了导入和索引刷新,仅此而已:

任何帮助表示赞赏,作为改进代码的任何提示。

我在用着: