问题标签 [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 - 如何使用 ElasticSearch-Rails 查询 dsl 返回相关关系
我是 ElasticSearch 的新手,但需要使用它来返回产品列表。请不要包含引用已弃用的轮胎宝石的答案或旧答案的链接。
宝石文件
我有几个有关系的模型。我包括了下面的关系。
模型和关系
product.rb 包括可搜索的
集合.rb
家庭.rb
福利.rb
Serachable.rb 只是一个关注点,包括所有模型中的弹性搜索和回调
弹性搜索
我将破折号分开的蛞蝓分为不同的家庭、收藏品和福利。我能够搜索具有特定系列或集合的产品并返回正确的结果。我也可以返回结果以获得一个好处,但它们似乎并不准确。搜索多种好处也会产生奇怪的结果。我想要所有字段搜索的“AND”组合,但我的结果似乎不是“AND”或“OR”的结果。所以这也让我感到困惑。
我应该将什么传递给 Product.search 方法以产生所需的结果?
感谢您的任何帮助,您可以提供!
编辑
我现在已经验证了产品的利益已被索引。我使用curl -XGET 'http://127.0.0.1:9200/products/_search?pretty=1'
它产生了一个看起来像这样的 json 响应:
如果我想要上面的示例产品,现在我只需要弄清楚如何在 ElasticSearch 中搜索具有好处 2,6 和 7 的产品。我正在专门寻找提交给 elasticsearch #search 方法的语法,以获取嵌套“AND”查询、嵌套查询设置/映射的结果(以确保我没有遗漏任何内容,以及您可以想到的任何其他相关信息你们解决这个问题。
更新
Searchable 问题已更新以反映收到的答案。我翻译了映射 json 对象以适应 elasticsearch-model 语法。当我尝试以类似的方式翻译查询时,我剩下的困惑发生了。
第二次更新
我对 elasticsearch-rails 示例应用程序的searchable.rb 的大部分关注是基本的。我已经更新了 searchable.rb 以反映这段代码,当我得到结果时,它们不是“AND”执行的结果。当我应用两个好处时,我会从所有具有其中一个好处的产品中得到结果。
ruby - Elasticsearch Ruby Activerecord 持久性模型 URL 术语搜索
我正在尝试使用弹性搜索术语查询对包含 URL 的字段进行搜索。我使用 elasticsearch-rails ActiveRecord 持久模式。这就是我尝试做到的方式。
如果没有 '/' 或 ':' 字符,它可以工作。例如,当 action_path 只是“tshirt”时。其他字段不进行分析,如果字段中没有“/”、“:”等字符,它们将起作用。所以显然弹性搜索试图分析它,但问题是它们不应该被分析,因为映射已经存在。
这是我的用户操作类
我还尝试使用“mapping do..”添加索引,然后使用“create_index!”但结果是一样的。因为有映射,所以它确实创建了映射。
这是我的宝石文件
当我进行搜索时,我还看到那些未分析的字段。
初始化文件除了 elastichq 连接 url 之外什么都没有。
数据在 elastichq 中,所以我应该得到结果,但什么也得不到。
来自 Elastichq 的卷曲结果
任何人都可以帮助我进行 url 术语搜索工作吗?
elasticsearch-rails - Elasticsearch self.published?
我正在使用elasticsearch-rails gem
我的网站,我需要创建自定义回调。https://github.com/elastic/elasticsearch-rails/tree/master/elasticsearch-model#custom-callbacks
但我真的被一件事弄糊涂了。if self.published?
这段代码是什么意思?我尝试将其用于我的模型
但是对于控制台中的模型,我看到了self.published? => false
,但我不知道这意味着什么
ruby-on-rails - Elasticsearch-rails 补全建议器、地图数据、创建索引、建议方法
我正在使用elasticsearch-model
和elasticsearch-rails
宝石。
在我的个人资料模型中,我有
我尝试添加suggest
字段
我正在尝试提出建议profile.name
,我已添加as_indexed_json
任何帮助将不胜感激,任何建议。
elasticsearch - Elastic Search Rails 找到带有 id 的部分记录
我正在尝试使用 Rails 和 Elastic Search 使用 elasticsearch-rails gem 实现自动完成。
假设我有以下记录:
在搜索“John”时,我可以使用哪种弹性搜索方法来返回两条记录。
自动完成只会返回“John White”,并且不会返回 id:1。
ruby-on-rails - 如何使用 elasticsearch-rails gem 过滤查询?
我有一个带有已发布布尔属性的 Piece 模型。
我希望搜索结果只包含已发布的作品:真。
我对 PiecesController 的索引操作是:
从四处搜索看来,我应该覆盖 Piece 控制器中的搜索方法,但我不确定执行此操作以保持当前搜索方法功能的正确方法。
使用 elasticsearch-rails gem 过滤弹性搜索结果的最佳方法是什么?
ruby-on-rails - Elasticsearch-rails 在错误的索引中搜索
我正在尝试部署我的应用程序并索引模型。在我尝试从 elasticsearch 实际获取数据之前,一切正常。我的环境正在暂存,但是当我通过 rest api 执行搜索时出现错误
由此:
我推断它试图在错误的环境中查询弹性搜索。这是什么原因造成的?
ruby-on-rails - elasticsearch无法在ruby中查询路径
我有一个弹性搜索索引“事件”-在该索引中有一个类型“事件”。
事件对象有一个“场地”,它具有各种属性,包括一个“名称”——所以简化的结构是:
现在,我正在使用 elasticsearch-rails - 使用查询 dsl 列出事件、搜索等一切正常 - 但是如果我想列出具有特定名称的场地的所有事件怎么办?
我假设这样的事情应该是可能的:
但我收到以下错误:
其次是包含大量此类内容的大量堆栈跟踪:
ParseExceptions 提示格式错误的 json - 但我不确定为什么。
简单的搜索
工作正常,所以我猜这只是查询的结构错误。
我尝试过切换单引号/双引号,尝试更密切地关注此页面上的示例:
https://www.elastic.co/guide/en/elasticsearch/guide/current/denormalization.html
一切都无济于事,想知道是否有其他人遇到过这种情况,并可以建议如何在 ruby 中工作。
ruby - 将 Rails 应用程序连接到 Elasticsearch 服务器
我正在使用 logstash+elasticsearch 来索引服务器日志。Elasticsearch 服务器在 localhost:9200 运行,包含数百万个服务器日志文档。我还有一个在 localhost:3000 运行的 Rails 应用程序。我需要将此 rails 应用程序连接到 ES 服务器。
我已经阅读了有关“elasticsearch-rails”gem 的信息,但是我在任何地方都使用 ActiveRecords/Models 找到了它们。但是,我认为这不需要 ActiveRecords。我只需要一种方法来查询 ES 服务器索引并在我的 Rails 应用程序中获取文档。
有没有办法做到这一点?任何人都可以帮我解决这种情况吗?如果我不清楚我的问题,请发表评论。
提前致谢。
ruby-on-rails - Elasticsearch - 从 Active Record 模型中自动导入记录
系统:
- 导轨 4
- 红宝石 2
- 弹性搜索 1.6.0
我正在使用 Elasticsearch 过滤记录并计算我的 Active Record 模型的统计数据。我希望我的 Elasticsearch 索引能够镜像我的 Postgres 数据库,以便将现有记录导入到我的索引中,新记录在创建时被索引,等等。
我担心我的两个模型包括这样的:
但是,当我打开 Rails 控制台并调用Bar.statistics
时,我会nil
进入每个领域。如果我然后执行Bar.import force: true
and then Bar.statistics
,我会在扩展的统计信息聚合中得到正确的非零值。
其他可能值得注意的事情:当我使用 Pry 在 Rails 控制台中打开 foo.rb 然后退出时,我遇到了一个Cannot define multiple included blocks for a Concern
错误(尽管加载应用程序工作正常)。
我是否缺少使我的记录自动导入 ES 的东西?