问题标签 [sunspot-rails]

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 投票
0 回答
353 浏览

ruby-on-rails-3 - Solr 中的严重错误

我一直在尝试让 sunspot/solr 在新环境(Ubuntu)中工作,我收到了“Solr 中的严重错误”的错误,我在下面包含了这个错误。

不知道是什么原因导致报错,报错建议更改设置

我试过了,但因为我使用的是轨道和太阳黑子,我的价值看起来像

无论哪种方式,我都不认为忽略错误是最好的选择。我似乎在我的网络错误日志中找不到与此问题相关的任何内容。

有没有办法把所有的 solr 文件都删掉,然后从头开始?鉴于它需要以任何方式定期索引,我是否有理由不这样做?还有其他建议吗?

根据要求,这是完整的堆栈跟踪

0 投票
1 回答
595 浏览

java - 在 Mac OS X Lion 上进行 java 更新后 Solr 连接被拒绝错误

我最近为 Mac OS X 10.7-Update 1 更新了 Java。在那之后,我意识到在带有 sunspot/solr 的 Rails 3.0.10 下的本地开发应用程序中,solr-server 可以正确启动

但是,如果我发送一个功能齐全的搜索请求,我会收到一个连接被拒绝错误:

我的一位同事最近使用 OS X 10.6-Update 6 的 Java 更新更新了 OS X Snow Leopard 的安装,并且遇到了同样的错误,因此我们确定 Java 更新是一个可能的原因,因为 solr 是基于 Java 的。

我在 Rails 3.0.10 上使用以下 gem:

在 OS X 上更新 Java 后,有人可以帮我解决这个问题或确认它的出现吗?

非常感谢!

0 投票
1 回答
291 浏览

ruby-on-rails-3 - 如果 order_by 是 t.date 或 t.decimal 字段,如何使用它?

您如何按小数或日期字段排序?

我正在尝试按价格和购买日期对我的用户价格进行排序。


模型中有什么?

0 投票
2 回答
443 浏览

sunspot - 设置太阳黑子地理定位场景

我正在使用Sunspot搜索和使用Geocoder获取地址,然后使用Geokit-rails3计算距离。


问题

在输入要搜索的产品时,我还希望能够在另一个字段中输入地址以搜索半径为 30 英里的给定区域中的产品。

这是我的控制器,它允许我搜索产品:

所以我相信我完成后表格看起来像这样:

我想:location将作为商店的虚拟属性,:address以便正确映射该字段,但这都是猜测。

我如何设置这一切以实现特定场景?

0 投票
1 回答
260 浏览

ruby-on-rails - 使用 Rails Sunspot 如何找到与返回的方面对应的主键?

我想知道是否有任何简单的方法来获取有助于构面结果的对象的主键。

换句话说,如果search.facet(....).rows.first返回 a FacetRow,我可以从这个对象中获得对search.hitsthis 有贡献的子集FacetRow吗?如果有完全不同的方法可以解决这个问题,请告诉我。

注意:为了全面了解我的问题(我想你可能已经知道了),我想深入了解一个方面很重要的对象。

提前致谢

0 投票
1 回答
566 浏览

ruby-on-rails - Rails 太阳黑子自动完成字段

我有一个包含两个字段的搜索表单:

一是:名称二是:类别

所以两个模型“帖子”和“类别”

类别搜索字段是自动完成字段,因此它会放置类别名称。

我遇到的麻烦是在提交搜索表单时将类别名称转换为 category_id ...

已经凝视了很长时间,但没有找到任何答案:(

0 投票
3 回答
3353 浏览

ruby-on-rails - 太阳黑子轨道:调用 .results 时包含关联模型

假设我想在我的应用程序中搜索事件。例如,当我显示结果时,我想显示谁创建了该事件。

有没有办法在.includes(:user)某处添加,以避免不必要的查询(每个事件一个)?我在文档中找不到它。我应该只用事件索引用户名吗?但我必须保持用户信息是最新的......

谢谢

0 投票
1 回答
495 浏览

ruby-on-rails - 为什么我的 sunspot_rails 查询需要这么长时间?我应该怎么做才能加快速度?

我是 Solr/Sunspot 的新手,我确定我做错了什么。

我有sunspot_rails1.2.1 与rails2.3.4 一起使用(尝试了其他版本,但它们不起作用,我们希望现在不要升级 rails)

重新索引有效,我得到了结果,但搜索时间太长了。大约 25 秒对两个字段进行全文搜索,其中包含将近 78,000 个文档。

我有这个:

像这样搜索:

这是我必须继续的唯一线索:

Solr Select (25275.2ms) {:fq=>["type:Abstract"], :start=>0, :defType=>"dismax", :q=>" +(test)", :fl=>"* score", :rows=>30, :qf=>"original_title_text header_text"}

这不仅仅是一次性的第一次搜索,每次都是这样。

如果我添加更多标准(例如两个日期之间的 updated_at ),它会增加到大约 8 分钟!

我被要求注意这是在开发环境中。

更新

问题不在于 Solr。如果我访问这个:

http://localhost:8982/so​​lr/select?indent=on&version=2.2&q=+%2B(test)&fq=type:Abstract&defType=dismax&start=0&rows=10&fl= *%2Cscore&qt=standard&wt=standard&explainOther=&hl.fl=&qf =original_title_text+headline_text

它执行相同的查询并花费极少的时间(大约 4 毫秒!)

那么为什么通过 Rails 查询要花这么长时间呢?它要么是太阳黑子,要么是 rsolr,或者正如约翰建议的那样,也许它正在启动一个新的 Solr 实例,但我认为不是这样。

我应该尝试切换到acts_as_solr 吗?我觉得现在有点过时了。

我在 sunspot 1.2.1 和 rsolr 0.12.1 上——更新的版本在这里有帮助吗?

有趣的新信息

升级到 Rails 2.3.14 将查询时间减少到 18 秒!

结果!

我现在已经用 RSolr 1.0.6 尝试了 sunspot 1.3.0,最后我得到了我正在寻找的快速响应!这需要我迁移到 Rails 2.3 的稳定版本。不好意思,我们不想升级 rails 版本,但似乎有必要。

0 投票
2 回答
1621 浏览

solr - Sunspot Solr 中的任务 sunspot:mongo:reindex 中的错误与 Mongoid

我有 sunspot_mongo gem 的 solr。当我尝试运行 sunspot:mongo:reindex 时,出现此错误:

我已经停止并使用 rake sunspot:solr:stop 启动 solr,我得到:

我已经使用命令 rake sunspot:solr:start 启动了 Solr,我得到:


已编辑

谢谢你,但不工作。我已删除索引文件夹并重新运行sunspot:solr:start并且当我尝试创建新寄存器或运行sunspot:solr:start

总是出现这个:

c43d1f7f8a62a2ff6fed0bddcce1a574-write.lock

但是,当我在我的模型中对此进行评论时:

rake 任务工作正常,不显示错误,但不索引模型。

任何的想法??

0 投票
1 回答
300 浏览

jrubyonrails - bash 函数无法识别的 bash 别名:sunspot_rails、jruby、rspec

下面用于在后台运行 sunspot 的别名 下面用于查找和终止这些实例的别名可以访问 sunspot 端口的 ENV 变量 但是,用于运行 sunspot、处理命令和终止 sunspot 的函数仅在我在函数之外获取 .bashrc 后才能工作.

$user_id 在此 sunspot_ports() 被调用并在首次登录时正确打印之前设置 rebash 是 source ~.bashrc 的别名

我也有开发和生产的别名——这只是代表代码。

我尝试在函数内部采购 .bashrc,用扩展命令替换别名,并将函数放在 sunspot_ports() 的每个组合中。当我登录时,太阳黑子端口会正确打印出来,所以我知道这段代码会运行。

另外,我需要将它作为 .bashrc 中的函数而不是在我的 jruby 代码中的某个位置,因为 jvm 不允许分叉(否则我只会在我的规范测试中使用 sunspot-solr start 和 sunspot-solr end )