问题标签 [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.
elasticsearch - 获取可用公寓查询
概述
我有预订的公寓。我的索引将保留作为嵌套字段,其中包含 start_date 和 end_date 的日期字段。
我正在使用耐嚼的红宝石 - 但我认为这并不重要。只需要让我的查询正确。
目标
我想获取在给定日期没有预订或根本没有预订的所有可用公寓。
当前查询
不幸的是返回所有公寓:
索引设置
elasticsearch - 使用开始日期和结束日期查询以获取可用日期
我正在尝试创建一个查询,该查询返回在该日期(或日期范围)没有预订或根本没有预订的可用产品。这让我疯狂。
这是我当前的索引设置映射:
和查询:
当有多个预订时,它会返回所有预订。
我希望有人能看到那里的错误。也许我在大局中遗漏了一些东西。
ruby-on-rails - 合并弹性搜索查询和过滤器无法正常工作
我必须合并才能查询和过滤。在合并查询和过滤器之后,我们在弹性搜索 2.4 中使用 filter_mode(:must) 做到了这一点。
现在 filter_mode 和 query_mode 不兼容。我正在使用“和”合并查询。我正在使用耐嚼在 Rails 框架中使用弹性搜索
现在 query_string 产品 1 结果。所以过滤器应该产生该结果的一个子集。
相反,当我这样做时query_string.filter(term: { domain_id: domain_id })
它产生 44 个结果。我的主要目标是合并两个查询以过滤 domain_id 上的结果。当我将 domain_filter 写为查询时,它产生了过滤结果
上面合并的查询会产生正确的结果。但我认为这样使用它是错误的。我想使用 ES 过滤器。有人可以帮我弄这个吗?
使用 query_string.and(domain_filter) 生成的详细查询
以上产生了错误的结果
预期的:
elasticsearch - 弹性搜索空白“应该”返回结果
我正在should
对索引运行任何空列表的查询。我希望它返回 0 个结果,因为没有should
要匹配的查询/过滤器:
(语法很耐嚼,但非常接近常规 ES)
但是,它会返回索引中的所有文档。这是预期的行为吗?有没有办法让我should: []
总是返回 0 个文档?
ruby-on-rails - elasticseach 如何在请求正文中添加搜索类型
我有一个查询,我使用 search_type 作为
效果很好,并给出了我想要的结果。
我也可以像这样在正文中指定解释:
但我想在正文中将 search_type 指定为 dfs_then_fetch 。如果我做
它引发错误:
为什么我不能在正文中指定搜索类型以及如何解决?我需要它在正文中,因为我正在使用不允许传递 URL 的第三方宝石耐嚼。
ruby-on-rails - Elasticsearch 查询没有返回正确的数据
我正在使用Chewy gem 来集成Elasticsearch集成到我的 Rails 项目中。Listing
我为一个名为 ( ) 的模型和我使用 Chewy es dsl 的搜索界面设置了索引。
Listings_index.rb
列表搜索.rb
第一个问题是过滤器apt_type_filter
。它不会返回正确的数据。
第二个问题是当我使用sorting
我得到一个 ES BadRequest 错误的方法对数据进行排序时:
这是 Chewy 的索引Query
对象的输出:
任何帮助都会很棒。谢谢。
ruby-on-rails - 在一个环境中使用 Chewy gem 的 Rails 4 应用程序上的 ElasticSearch Fielddata 错误,但在另一个环境中没有
我们有一个 Rails 4 应用程序在两个类似的环境中运行,staging
并且production
.
最近,这个错误开始出现在本地开发环境和暂存环境中,但在生产环境中没有发生。
我知道ElasticSearch 文档解释了如何解决这个错误。但是,我想知道在这些环境中触发错误的原因是什么,因为使用的 ES 配置和查询在登台和生产中是相同的。
ruby-on-rails - 如何使用点符号访问 Chewy 结果?
我正在使用Toptal 的 Chewy gem来连接和查询我的 Elasticsearch,就像 ODM 一样。
我将Chewy与 Elasticsearch 6、Ruby on Rails 5.2 和 Active Record 一起使用。
我已经像这样定义了我的索引:
我的模型:
这里的问题是,当我使用 Chewy 执行任何查询时,客户数据会被反序列化为哈希而不是对象,并且我不能使用点符号来访问嵌套数据。
如何使用点符号 ( result.customer.name
) 访问嵌套关联?或者反序列化对象(例如结构)中的嵌套数据,这允许我使用点表示法?
ruby-on-rails - Chewy gem 将 Elasticsearch 日期类型反序列化为字符串
当使用 Chewy 从 ES 检索结果时,日期类型的结果作为 Ruby 字符串返回。
我的索引的定义就像:
检索结果时:
有没有办法自动反序列化 Ruby 日期对象中的这个日期字段,而不必使用 显式映射结果Time#parse
?
ruby-on-rails - 在 Rails 应用程序中使用耐嚼的 gem 更新用户索引失败
我的 Rails 应用程序中有一个用户正在尝试手动索引。在我正在做的控制台中:
但索引的结果是:
...注意让我认为命令没有运行的空白字段?我是否正确运行 update_index 命令?