问题标签 [searchkick]

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.

0 投票
1 回答
939 浏览

ruby-on-rails - ElasticSearch 索引随机变空

ElasticSearch 索引随机变为空,但大多数情况下,它发生在部署使用 Rails 构建的应用程序之后。

这里有一些关于 ElastiSearch 的信息:

curl -XGET 'http://localhost:9200/_nodes?pretty'

curl -XGET 'http://localhost:9200/_cluster/health?pretty'

curl 'localhost:9200/_cat/indices?v'

/var/log/elasticsearch/elasticsearch.log 中的重复堆栈跟踪:

Obs:172.31.19.137 IP 地址是 AWS 上 EC2 实例的私有 IP。

编辑:

错误仍然发生,我有关于这个问题的新信息。

在“数据消失”之后,我查看elasticsearch.log并多次打印Stack Trace 。我不知道这个错误是在“数据消失”之前还是之后发生的。请注意,索引名称是products_production_20141130122307375.

运行命令列出所有 Elasticsearch 索引curl 'localhost:9200/_cat/indices?v',打印产品索引,但编号不同:(products_production_20141XXXXXXXXXX我没有写下确切的数字)。

那么,为什么索引的名称不一样呢?

有可能出于某种奇怪的原因,Rails/Searchkick 重新创建索引并丢失数据?

编辑 2

在 ElasticSearch 记录此问题后会出现问题:

看起来这会searchkick重新创建索引并丢失旧索引的产品。

0 投票
1 回答
2409 浏览

ruby-on-rails - rails searchkick中的多个where子句

我有一个关于 searchkick 的非常基本的问题。如果您希望使用 if 语句在 searchkick 查询中加入多个 where 语句怎么办。很像查询构建器

如果请求具有结束日期或 max_price,则上述代码可以正常工作。如果两者都有,则会引发错误。有没有办法构造或连接两个 where 语句。我不能做

因为 if 语句很重要。

0 投票
1 回答
3025 浏览

ruby-on-rails - URI::InvalidURIError:http 方案不接受注册表部分::9200(或错误的主机名?)

我正在使用 Elasticsearch / SearchKick / Bonsai 在 Heroku 的生产环境中设置搜索。这在本地工作得很好,但是我在 Heroku 上索引我的对象时遇到了麻烦。

在 config/initializers/bonsai.rb

在 lib/tasks/elasticsearch.rb

在用户.rb

宝石文件

我跑了:heroku config:add BONSAI_URL=mybonsaiurl

但是,当我尝试使用以下命令重新索引时: heroku run rake searchkick:reindex CLASS=User 我得到: URI::InvalidURIError: 该方案 http 不接受注册表部分: :9200 (或错误的主机名?)

或者当我这样做时:用户。弹性搜索.create_index!力:真我得到:用户。elasticsearch .create_index !:找不到命令

似乎 SearchKick 或默认设置为 9200,但我不确定如何更改它,或者它是否应该查找我的应用程序 URL 或盆景 URL——我真的迷路了,似乎在某个地方错过了一步?

谢谢你的帮助!

0 投票
3 回答
3448 浏览

ruby-on-rails - Faraday::ConnectionFailed,连接被拒绝 - “localhost”端口 9200 的连接(2)

我正在使用searchkick gem 在我的 rails 应用程序中进行搜索。

它工作正常,但第二天搜索时突然出现此错误。

错误

0 投票
1 回答
460 浏览

ruby-on-rails - 如何将 Elasticsearch 升级到最新版本

我尝试在我的 Rails 项目上运行搜索,但出现此错误Searchkick::UnsupportedVersionErrorThis version of Searchkick requires Elasticsearch 1.0 or greater

我已经检查了整个 Stackoverflow,似乎没有人有这个答案。有什么帮助吗?

0 投票
1 回答
2728 浏览

ruby-on-rails - Heroku 上的 Searchkick 重新索引

当我部署到 heroku 时,我不断收到此错误:

它正在开发中,但我如何在生产中重新索引?如果可能,请包括确切的步骤。

这是我的控制器供参考:

0 投票
2 回答
876 浏览

ruby-on-rails - 如何将 Searchkick gem 与acts_as_taggable gem 一起使用?

我有 Searchkick 设置并且一切正常。我如何通过acts_as_taggable 添加标签以显示在搜索中?因此,如果用户搜索标签,它将显示在结果中。

这是我的文件

路由.rb

控制器搜索动作

Search.html.erb 查看

0 投票
1 回答
2922 浏览

ruby-on-rails - 如何使用 searchkick 进行复杂的逻辑操作查询

我正在使用searchkick库作为产品搜索的弹性搜索客户端。 https://github.com/ankane/searchkick

可以创建“OR”条件和“AND”条件;

AND 操作 Product.search where: {price: {lte: 200}, in_stock: true}

OR 操作 Product.search where: {or: [[{in_stock: true}, {backordered: true}]]}

但我坚持使用 searchkick 创建多个“AND”“OR”条件。

我需要类似的东西

A 或 B 或 ( C 和 D )

或者我需要这样,

A 与 B 与 ( C 或 D )

请指导我,如何实现这一目标

谢谢

0 投票
2 回答
354 浏览

ruby-on-rails - 如何允许用户使用 Elastic Search 和 Searchkick on Rails 仅搜索他们的帖子?

我希望用户能够只搜索他们的帖子而不显示其他用户创建的帖子。我该怎么做呢?我正在使用Elastic Search宝石Searchkick

我试过了,但它仍然显示来自其他用户的帖子:

职位控制器

0 投票
3 回答
1088 浏览

ruby-on-rails - searchkick 高级搜索不起作用

当我使用 body 进行高级搜索时.. 它不会返回所需的结果,尽管限制:10 部分我们工作,因为它只返回 10 个结果