问题标签 [tire]
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 - BSON::InvalidObjectId 非法 ObjectId 格式
尝试if
在控制器中插入简单条件后出现此错误:
ruby-on-rails - Tire/Elasticsearch 搜索关联
我有以下代码,我正在尝试使用 ElasticSearch 来查询它。
当我做 Book.search(:q=>'Foo') 时它可以工作,但当我做 Book.search(:author=>'Doctor') 时它不起作用。在我的数据库中,我有一个名称为“Barz,Foo,Doctor”的条目
我不确定在查询中是否应该使用术语或术语,因为我正在使用雪球破坏名称。我尝试了条款,然后出现错误。随着学期我没有得到任何结果。
ruby-on-rails - 示例应用请求(Rails+MonogDB+Elasticsearch+Tire)
由于几乎没有使用 mongoDB 在 Rails 中使用 Tyre 的在线教程,我只请求一个基本的示例 rails 应用程序,该应用程序具有搜索功能并配置为 mongoDB(例如博客),我将自己跟踪代码。谢谢
ruby-on-rails - Ruby:ElasticSearch + 轮胎错误 Tire::Search::SearchRequestFailed - IndexMissingException?
我想使用 ElasticSearch + Tire 来搜索存储在 MongoDB 中的内容。
但是,当我尝试执行搜索时出现以下错误:
轮胎::Search::SearchRequestFailed 在 SearchController#index
据我了解,这告诉我事件缺少索引,即使我已经告诉它在运行时生成它们db:setup
。
模型:
控制器:
关于如何解决这个问题的任何想法?
ruby-on-rails - ElasticSearch 查询与我的应用程序不同的数据库?
我正在尝试将 ElasticSearch 用于我的 MongoDB 支持的 Rails 3.2.2 应用程序(通过Tire)。
我遇到了一个非常奇怪的问题,ElasticSearch 似乎从第二个 MongoDB 数据库返回查询结果,而不是这个应用程序的查询结果(如我的config/mongoid.yml
文件中定义的那样)。这很奇怪!
当我这样做时Event.all
,我会看到所有正确的事件。
但是,当我尝试做Event.tire.search("foo")
(Event.tire.search('*')
甚至)时,它给了我来自另一个应用程序的 MondoDB 数据库的结果!
我希望轮胎告诉 ElasticSearch 自动使用这个应用程序的数据库,但如果失败了,有没有办法明确设置它?
对此问题的任何帮助将不胜感激。谢谢!
elasticsearch - 使用 Elasticsearch 自定义脚本字段检查参数数组中是否存在 id
如果文档的 id 存在于作为参数发送的数组中,是否可以添加一个布尔值的自定义脚本字段并返回 true?
像这样的东西https://gist.github.com/2437370
使用 mvel 执行此操作的正确方法是什么?
更新: 无法按照 Imotov 的回答中指定的方式工作。
映射:
种类:
:sort=>{:_script=>{:script=>"return friends_visits_ids.contains(_fields._id.value)", :type=>"string", :params=>{:friends_visits_ids=>["4f8d425366eaa71471000011"]}, :order=>"asc"}}}
place: {
properties: {
_id: { index: "not_analyzed", store: "yes" },
}
}
我没有收到任何错误,只是文档没有正确排序。
更新 2
哦,我确实在文件上得到了这个:
"sort"=>["false"]
ruby-on-rails - 通过 Tire gem 进行 Elasticsearch 版本控制
我有一个现有的 Rails 应用程序,它使用轮胎 (0.4.0) 与 Elasticsearch (0.17.4) 引擎交互。它已经有几个使用 Tire::Persistence 的模型。我想添加一个利用 Elasticsearch 版本控制的新模型,以跟踪所有更改并能够恢复到以前的版本。
现在,当我检索任何“持久”模型实例时,我检查_version
它始终是nil
. 我还没有找到任何与版本控制相关的轮胎文档。我必须以某种方式激活它,还是手动保存带有版本值的记录?我什至在正确的轨道上吗?
我确实看到某些方法返回_version
项目的值,但其他方法没有......
此外,版本控制似乎增加了 2。也许轮胎没有完全具备处理版本控制的能力。是保存以前的版本吗?如何检索以前版本的记录?
[编辑] 我可能误解了 Elasticsearch 中的“版本控制”实际上是什么。似乎它主要用于并发控制。哦,好吧。(不过,我很想听听其他的)
ruby-on-rails - ElasticSearch + Tire:模拟 ES 的好策略
我在我的网站主页上使用 ElasticSearch。在我的验收测试中,当用户登录时,他会被重定向到主页。
但是在测试中使用 ES 很昂贵(需要创建和删除索引),所以我不想每次用户浏览主页时都必须这样做。
我只想在测试有一些元数据时才进行实际的 ES 搜索:
因此,当测试没有 :elastic 元数据时,我需要“模拟”搜索而不使用 ES。
什么是实现这一目标的好方法?
ruby-on-rails - 过滤器仅适用于 Rails 中的轮胎和 ElasticSearch 的一个模型
我有几个用 elasticsearch 索引的模型,其中一个有一个需要过滤的关联,但是如果我在search
方法中添加这样的东西
然后所有模型都被过滤掉,因为它们没有这样的关联sessions
。
那么有没有办法将过滤器仅应用于一个模型?
任何想法都非常感谢!