我一直在使用Elasticsearch的searchkick
gem在Rails 4.2.0应用程序上没有问题。我有一个使用searchkick的视频模型。
由于某种原因rake searchkick:reindex:all
,现在无法正常运行:
重新索引视频…耙子中止了!Faraday :: ConnectionFailed:执行到期
我最初是通过安装elasticsearch的brew install elasticsearch
,它返回:
警告:elasticsearch-1.3.4已经安装
我的elasticsearch安装/数据库是否可能已损坏?如果是这样,刷新它的最佳方法是什么?
根据https://www.elastic.co/guide/zh-CN/elasticsearch/reference/1.4/indices-
delete-
index.html
我尝试了,curl -XDELETE 'http://localhost:9200/_all'
但这不能解决错误。
当我将此代码部署到AWS时(以前都正常工作),在我的Mac以及Elastic Beanstalk上都会发生此问题。
通常,经过数小时的奋斗,我在发布问题后几分钟便找到了答案。
根据https://github.com/ankane/searchkick/issues/382,我添加了一个初始化器:
Searchkick.client = Elasticsearch::Client.new(hosts: ["localhost:9200"], retry_on_failure: true, transport_options: {request: {timeout: 250}})
这似乎已经解决了问题。如果再次发生,我会报告。
问题内容: 我正在尝试使用in 进行批量插入,这是执行操作时遇到的错误; 是由于系统空间不足还是批量插入功能本身不起作用?我的版本是,版本也是。 批量插入逻辑代码; 问题答案: 正如Val在评论中所说,您一次发送的数据可能会超出集群的处理能力。看来您可能正在尝试在 一个* 批量请求中发送 所有 文档,但对于许多文档或大型文档而言,这可能无法正常工作。 * 使用时,除了可以同时发送到集群的批量请求数
问题内容: 我正在使用ES 1.4。当我执行聚合时,结果也会返回hits数组。有没有办法只返回聚合? 问题答案: 有可能的。您应该在网址中键入其他参数( ?search_type = count )。在这里看看:http : //www.elasticsearch.org/guide/en/elasticsearch/reference/current/search- aggregations.h
我想用一个字符串str,把它打印到一个新的行中。重复一遍 示例:return str.repeat(number) 输出:这是要重复的字符串这是要重复的字符串这是要重复的字符串这是要重复的字符串这是要重复的字符串
问题内容: 我试图使用Searchkick来基于多个模型运行搜索并返回。 我的书模型包含此 然后我的控制器有这个 我希望搜索结果搜索关联的模型并在那里返回任何结果-嘘主题名称,作者和发布者。 谢谢 问题答案: 在Book模型中,您需要为索引建立一个块。 这会将关联添加到您的索引中。 您将方法用于关联。
我遇到了一些实际的问题,比如使用字段增强来处理ElasticSearch。我已经看过关于这个主题的Nest文档,但它们没有特别大的帮助,所以我的代码实际上是基于这个问题的解决方案:使用Nest Field Boosting进行弹性搜索。 如果运行以下查询,我会得到一个结果,正如预期的那样: 然而,如果我尝试使用场增强,使用以下方法,我没有得到匹配: .OnFieldsWithBoost(d=>d.
问题内容: 我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址… 有人可以给我您用来完成此操作的URL吗? 问题答案: 我认为支持lucene语法是这样的: 大小默认为10,因此您可能还需要获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字) 但是,elasticsearch文档建议使用扫描搜索类型针对大型结果集。