问题标签 [bonsai-elasticsearch]

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 回答
401 浏览

django - Bonsai ElasticSearch + Heroku + Python - 同义词文件的位置

我正在使用 bonsai.io 并希望将 elasticsearch 指向我的同义词文件。

我将 wn_s.pl 保存在 heroku 上的一个文件夹中,django 应用程序可以看到该文件:

但是当我使用过滤器创建索引时:

我得到的错误是:

我应该如何解决它?

谢谢

0 投票
2 回答
2119 浏览

ruby-on-rails - Heroku Bonsai 与 gem 'bonsai-elasticsearch-rails' 仍在寻找端口 9200

我按照 Heroku 的说明设置 Bonsai Elasticsearch:

https://devcenter.heroku.com/articles/bonsai

所有这些都在我的 Gemfile 中:

但是,当我运行时仍然出现以下连接错误时:

Elasticsearch 在本地工作,我无法让它在 Heroku 上工作。

我的模型是:

我有一个 rake 文件:lib/tasks/elasticsearch.rake

我也在使用 Devise,但我认为它不会影响这一点。在 Rails 4.1、Ruby 2.1.2 上。

有什么建议么?

** 编辑 **

我取出了 bonsai-elasticsearch-rails gem 并添加了:config/initializers/bonsai.rb

在寻找端口 9200 时仍然遇到相同的错误

** 编辑 2 **

使用相同的错误:

0 投票
0 回答
103 浏览

ruby-on-rails - 我是否使用了正确的弹性搜索查询?

使用elastsearch-rails gem,目前我有:

我注意到,通过进行多重匹配/交叉字段搜索,如果我搜索在 Employee 数据库列中只出现一次的术语(例如,“John”只会出现在 first_name 中,而不出现在 job_description 或 job_title 中),那么我没有结果。如果一个术语(比如“律师”之类的职位出现在多个字段中,例如 job_description 和 job_title),我会返回结果。为什么是这样?这似乎违反直觉。

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 投票
2 回答
1992 浏览

elasticsearch - 使用更新脚本时出现 ElasticsearchIllegalArgumentException

我在 Heroku 上使用 Bonsai Elastic Search,我有一个文件如下:

我正在尝试像这样更新计数器(根据http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/docs-update.html):

但我收到以下错误:

0 投票
1 回答
301 浏览

python - 使用 ElasticSearch/Django Haystack 的个人用户自定义搜索引擎

我们正在编写一个 django 应用程序,该应用程序允许用户在他们之间发送私人消息,以及向组发送消息,并且正在寻求实现每个用户定制的搜索功能,以便每个用户都可以搜索和查看消息他们收到了。

我们如何提供为每个用户定制的搜索体验?有些消息是作为组的一部分发送给数千个用户的线程的一部分,而其他消息可能是在 2 个用户之间发送的私人消息,甚至其他消息可能是“待定”消息,等待审核。

我们是否对过滤器进行硬编码,以确定用户是否可以在我们发送到 ElasticSearch 的每个查询中查看消息,或者如果消息发送到有 1000 个成员的组,我是否将 1000 个相同的文档添加到 ElasticSearch,唯一改变的是接受者?

更新

所以这里有一条单独的消息,它的序列化形式是序列化的:

用户应该能够搜索:

  1. 他们是“发件人”的所有消息
  2. 其 GUID 位于“收件人”区域的所有邮件(并且“类型”为“直接”)
  3. 发送到他们所属的组 ID 的所有消息都不是待处理的(尽管它们可能是 100 个组的成员,所以它可能是 [10,14,15,18,25,44,50,60, 75,80,81,82,83,...])

在 SQL 中SELECT * FROM messages WHERE text contains 'query here' AND (sender.guid = 'my-guid' OR recipient.guid = 'my-guid' OR (group_id in [10,14,15,18,25,44,50,60,75,80,81,82,83,...] AND pending != True))

0 投票
1 回答
568 浏览

ruby-on-rails - Elasticsearch 和 Bonsai:Heroku 上的 IndexMissingException,在本地运行良好

构建我的第一个 Rails 应用程序并在让 Elasticsearch 在 Heroku 上运行时遇到问题。

本地作品完美。

在 Heroku 上,我可以打开搜索页面,但是当我尝试执行搜索时,出现以下错误:

Heroku 日志显示:

宝石:

搜索控制器:

搜索视图:

任何建议将不胜感激!

0 投票
1 回答
321 浏览

mongodb - 盆景自动分度

我使用 MongoDb 和一个快速的 Heroku 托管应用程序进行存储。

我想通过Bonsai Heroku 插件使用 ElasticSearch 为一些 MongoDb 集合提供搜索功能。

但是,根据Bonsai faq,不支持 Elasticsearch River 插件。

如果我不能使用elasticsearch-river-mongodb ,如何使用自定义映射在 Bonsai 上自动重新索引我的 MongoDb 集合(当创建/更新/删除 MongoDb 文档时) ?

0 投票
1 回答
665 浏览

ruby-on-rails-4 - 盆景-elasticsearch-rails - 不能要求“elasticsearch/rails/tasks/import”

当我运行时:

终端的响应是:

该错误似乎源于此 require 语句lib/tasks/elasticsearch.rake

我检查过我所有的elastic-*gem 都是最新版本:elasticsearch-rails 和 elasticsearch-model 为 0.1.7,bonsai-elasticsearch-rails 为 0.0.4,但我确实注意到这里https://rubygems.org/ gems/bonsai-elasticsearch-rails bonsai-elastic-search rails 依赖于 bundler 1.5 而 Heroku 使用的是 1.9.7,据我所知,这是不可能改变的。这会是问题的症结所在吗?

当我尝试部署时,我的日志中也有类似的错误

0 投票
0 回答
116 浏览

elasticsearch - 命名查询在盆景中不起作用(不返回matched_queries)

当我在 Bonsai 托管的 elasticsearch 上运行它时,我似乎无法让该"_name"参数在我的查询中工作(在 Searchly 服务上也发生了同样的情况)。有没有人有同样的问题?

这个确切的查询在我的本地弹性搜索中有效,它返回内部带有“test”的“matched_queries”。但是,一旦我将 URL 切换到托管服务,它就不会: