问题标签 [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.
elasticsearch - 将过滤后的查询转换为 Elasticsearch 5 的布尔查询时遇到问题
我正在从 elasticsearch 1.7 升级到 5.0。其中一项更改是删除过滤查询以支持布尔查询。例如,我在旧版本的 ES 中使用了这个搜索哈希:
所以,我知道这需要更多的格式:
我也知道缺少的查询需要替换为 5 中的 must_not exists 查询。也就是说,我无法弄清楚如何转换这个重度嵌套的哈希,所以有人知道我将如何为 ES5 正确构建它吗?
我还在使用 elasticsearch-rails gem,fyi 在 Rails 中使用/访问 ES。
ruby-on-rails - 您如何将摄取附件插件与 elasticsearch-rails 一起使用?
我之前使用的是现在已弃用的 mapper-attachments 插件,它与普通索引一起使用相当容易。现在 ingest-attachment 已经取代了它并需要管道等。如何正确使用它变得令人困惑。
假设我有一个名为 的模型Media
,它有一个file
包含 base64 编码文件的字段。我在该文件中有以下映射:
我通过 curl 创建了一个附件管道:
现在,以前一个简单的Media.last.__elasticsearch__.index_document
就足以file
通过mapper-attachments
插件索引记录以及实际记录。
我不确定如何ingest-attachment
使用管道和elasticsearch-rails
gem 来做到这一点。
我可以通过 curl 执行以下 PUT:
这将索引编码文件,但显然它不会索引模型的其余数据(或者如果它之前被索引,则完全覆盖它)。我真的不想在 curl 命令中包含每个模型属性以及文件。有没有更好或更简单的方法来做到这一点?我是否完全没有管道并且摄取应该工作?
ruby-on-rails - Rails 4 elasticsearch使用多个搜索条件,结合搜索功能
我在一个项目中使用elasticsearch-rails,有一个组合搜索功能,所有列都在一个表中。我只是写了一个自定义搜索功能,搜索dsl不起作用,不能有任何结果。
并且参数可能通过 nil,我怎样才能使搜索 dsl 有效?
ruby-on-rails - Elasticsearch rails 没有得到正确的响应
我正在使用 elasticsearch-rails 和 elasticsearch-model gem 在我的 rails 应用程序中搜索单词。
我想让我的搜索不区分大小写,并且必须独立于复数形式。我在谷歌上进行了很多研究,但对如何使用分析器进行了预感,但没有成功。所以我不得不发布一个新问题。
这是我要搜索的模型
我的问题是如何搜索词?T恤,T恤,T恤都应该匹配。任何进一步研究的链接也很有帮助。谢谢
ruby-on-rails - Elasticsearch-rails 结果准确性不如预期
我正在使用 elasticsearch-rails 和 elasticsearch-model gem 在我的 rails 应用程序中搜索单词。
这是我要搜索的模型
我的问题是如何搜索词?T恤,T恤,T恤都应该匹配。任何进一步研究的链接也很有帮助。谢谢
ruby-on-rails - Elasticsearch-rails 如何按预期提高结果的准确性?
我正在使用 elasticsearch-rails 和 elasticsearch-model gem 在我的 rails 应用程序中搜索单词。
这是我要搜索的模型article.rb :
这是我的search.html.erb:
这是我的routes.rb:
这是我的search_controller.rb:
现在,我得到的结果只匹配单词。我的问题是:如何进行复合匹配?我不明白这个功能是如何工作的 - 以及如何更改查询?
还有如何提高复合匹配、拼写检查、部分匹配等准确性?谢谢你。
ruby-on-rails - elasticsearch-rails 如何编写搜索查询
我正在使用 elasticsearch-rails 和 elasticsearch-model gem 在我的 rails 应用程序中搜索单词。
这是我要搜索的模型 article.rb:
这是我的模型控制器 search_controller.rb
我正在获取搜索结果。但我的问题是:如果我搜索“John team”。
我获得了多项记录,完美匹配“约翰团队”以及一些与“约翰”或“团队”相关的匹配。
但我想,如果“john team”在我的数据库中完全匹配,结果应该只有 john team。我不想要其他记录。但是如果“john team”不存在,我想要另一个与“john”或“相关的结果”团队的两个关键字。
例子:
但我想要
ruby-on-rails - 索引内类型的 Elasticsearch 更新映射和重新索引
我有一个名为 business_data 的索引,其中包含不同的类型:客户端、消息、事件等......其中每一个都有自己的映射、分析器等。我需要更新客户端的映射并重新索引(从 activerecord 重新导入,例如),无需停机。我在网上找到了几篇关于零停机时间的文章(创建新索引,更新别名以指向新索引,删除旧索引)。这些解决方案讨论了更改整个索引,这意味着我的整个业务数据......我只需要更新类型。有没有办法创建一个新类型并简单地更改别名?关于如何做到这一点的任何其他建议?它是一个 Ruby on rails 应用程序,我正在使用 elasticsearch-rails。
谢谢!
ruby-on-rails - Elasticsearch-rails 中同一级别的多个聚合
我正在尝试使用 elasticsearch-rails 和 elasticsearch-model gems 在 ElasticSearch 的同一级别上执行多个聚合。
在我生成的查询哈希中,我有以下内容 -
我存储在对象 es_response 中的响应。
当我搜索这两个聚合时,我只能在响应中找到最后一个。
es_response.response["aggregrations"] 只有最新的聚合对象的响应,home_region_id
.
尽管有很多关于嵌套聚合的内容,但我在 ES Reference 上找不到太多关于在同一级别上构建多个聚合的文档。
我怎样才能解决这个问题?
我的ES版本是5.1
elasticsearch - geo_distance 不返回任何命中 Elasticsearch
此查询有问题,当我使用 geo_distance 过滤器时,查询没有返回任何内容。当我删除它时,我会得到正确的结果。查询如下:
如果有人给我提示,我将不胜感激。
更新 当我使用相同的查询逻辑运行 Elasticsearch Ruby DSL 时,我得到了正确的结果:
}}
所以这真的很奇怪,我不确定 ES 语法出了什么问题,但它肯定应该按预期工作。谢谢。