问题标签 [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.
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
重新创建索引并丢失旧索引的产品。
ruby-on-rails - rails searchkick中的多个where子句
我有一个关于 searchkick 的非常基本的问题。如果您希望使用 if 语句在 searchkick 查询中加入多个 where 语句怎么办。很像查询构建器
如果请求具有结束日期或 max_price,则上述代码可以正常工作。如果两者都有,则会引发错误。有没有办法构造或连接两个 where 语句。我不能做
因为 if 语句很重要。
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——我真的迷路了,似乎在某个地方错过了一步?
谢谢你的帮助!
ruby-on-rails - Faraday::ConnectionFailed,连接被拒绝 - “localhost”端口 9200 的连接(2)
我正在使用searchkick gem 在我的 rails 应用程序中进行搜索。
它工作正常,但第二天搜索时突然出现此错误。
ruby-on-rails - 如何将 Elasticsearch 升级到最新版本
我尝试在我的 Rails 项目上运行搜索,但出现此错误Searchkick::UnsupportedVersionError
并This version of Searchkick requires Elasticsearch 1.0 or greater
我已经检查了整个 Stackoverflow,似乎没有人有这个答案。有什么帮助吗?
ruby-on-rails - Heroku 上的 Searchkick 重新索引
当我部署到 heroku 时,我不断收到此错误:
它正在开发中,但我如何在生产中重新索引?如果可能,请包括确切的步骤。
这是我的控制器供参考:
ruby-on-rails - 如何将 Searchkick gem 与acts_as_taggable gem 一起使用?
我有 Searchkick 设置并且一切正常。我如何通过acts_as_taggable 添加标签以显示在搜索中?因此,如果用户搜索标签,它将显示在结果中。
这是我的文件
路由.rb
控制器搜索动作
Search.html.erb 查看
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 )
请指导我,如何实现这一目标
谢谢
ruby-on-rails - 如何允许用户使用 Elastic Search 和 Searchkick on Rails 仅搜索他们的帖子?
我希望用户能够只搜索他们的帖子而不显示其他用户创建的帖子。我该怎么做呢?我正在使用Elastic Search
宝石Searchkick
。
我试过了,但它仍然显示来自其他用户的帖子:
职位控制器
ruby-on-rails - searchkick 高级搜索不起作用
当我使用 body 进行高级搜索时.. 它不会返回所需的结果,尽管限制:10 部分我们工作,因为它只返回 10 个结果