问题标签 [sunspot]

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

ruby-on-rails - sunspot_rails Levenshtein 距离算子

我正在使用 sunspot_rails(在 rails3 上)将我的 rails 应用程序连接到 solr 服务器。我真的很想使用 ~ 运算符执行模糊搜索。无论如何,这似乎不受支持。我现在回退到使用 EdgeNGrams,但我对结果并不完全满意。

有什么建议吗?有没有人能够通过 sunspot_rails 进行 Levenshtein 距离搜索?

解决了

Sunspot 提供的adjust_solr_params方法允许您覆盖默认查询解析器,以便您可以使用支持 ~ 的解析器。基本上,我让 Sunspot 使用 lucene 查询解析器设置 defType 参数:

0 投票
2 回答
772 浏览

ruby-on-rails - 太阳黑子:增量索引是如何工作的?

我正在研究 Sunspot 作为我们项目的一种可能的索引解决方案。有一件事,我没有找到任何信息:如何处理数据更新。如果我“设置”了我希望索引的类,solr 服务器如何收到有关对象更改的通知?

此外,请考虑以下场景:

我有“has_many”同义词的类艺术品,我会这样构建我的索引:

给定具有同义词“La Gioconda”和“Not so big smile”的艺术品“蒙娜丽莎”。当我现在更新最后一个同义词时,会通知 solr 并重建“蒙娜丽莎”的索引吗?

0 投票
1 回答
2603 浏览

sunspot - Sunspot Rails 按模型 ID 排序搜索结果?

假设我有以下模型,并且我已使用sunspot_rails.

schema.xmlRails 中 Sunspot 的标准声明id为索引字段。当我使用 Web 界面访问 solr 和测试查询时,查询如下:

搜索Casesid等于Case 15工作正常并返回结果。

问题是当我在 rails 控制台中使用 Sunspot Rails 进行搜索时:

我得到:

这表明它正确输入:q了正确的查询值,但命中为 0:

返回

如果我们假设它keywords不等效并且只搜索text字段(全文搜索)而不是冒号之前定义的字段:,那么我可以尝试以下操作:

但这因太阳黑子异常而失败:

如何使用id模型的索引标准 solr/sunspot 字段进行搜索?

为了使问题更有用,我如何按 id 排序。以下不起作用:

不起作用。Sunspot::UnrecognizedFieldError: No field configured for Case with name 'id'

0 投票
1 回答
423 浏览

ruby-on-rails - 我在哪里定义 Sunspot/solr 配置?

我在太阳黑子文档中看到定义我应该使用的默认结果数量:

Sunspot.config.pagination.default_per_page = 12

我曾尝试将该行添加到 application.rb 但它不起作用。我应该在哪里定义这个设置?

0 投票
1 回答
1353 浏览

ruby-on-rails - 由于 Sunspot-Solr 重新索引问题,服务器超时

不太清楚如何调试。任何提示将不胜感激。

基本上,我只是做了一个大提交,现在我的服务器由于 Sunspot-solr 问题而无法启动。

当我尝试手动重新索引时,我注意到了这一点。

这是回报:

更新

好的,所以我恢复并重新定位到最后一个工作提交。我仍然遇到同样的错误。于是我ps aux | grep solr,发现了五个正在运行的 solr 实例。奇怪,我想,然后杀了他们每一个人。Blam 服务器已恢复正常运行。所以现在我再次尝试我的新提交,但我关注的是这些野蛮的太阳黑子实例。

0 投票
1 回答
1229 浏览

ruby-on-rails-3 - 如何使用 Capybara/RSpec 编写请求规范以测试 Sunspot/Solr 搜索?

我想编写我常用的 RSpec/Capybara 请求规范来测试使用 Sunspot 和 Solr 的搜索功能。我一直在挖掘,但找不到如何让它工作。我安装了 sunspot_test gem 并验证了创建的产品确实存在。问题似乎与索引有关,也许?我错过了什么?

0 投票
1 回答
397 浏览

ruby-on-rails-3 - 哪个全文搜索引擎更好(Thinking Sphinx 或 Sunspot)?

我选择大型项目的搜索引擎。我喜欢 Sunspot,至少因为我们不需要运行 cron 作业来重新索引数据。但是当我看到这个http://www.vijedi.net/2010/ruby-full-text-search-performance-thinking-sphinx-vs-sunspot-solr/我开始怀疑。

0 投票
5 回答
2827 浏览

ruby-on-rails-3 - Sunspot_Rails - 页面上未定义的方法“可搜索”

我有一个带有searchable块的模型,如下所示:

在控制器的index操作中,我正在调用Contact.new,这会在页面上给我一条错误消息,该页面当前正在我们的暂存服务器上运行:

#<Class:0xce0bf80> 的未定义方法“可搜索”

堆栈跟踪通过控制器中的线路指向searchable模型中的块。Contact.new

当我在网页或控制台上或通过登台服务器上的控制台在本地运行代码时,不会出现此错误 - 仅在登台网页上。

Solr 服务在 Staging 服务器上运行良好,数据已成功建立索引。任何关于为什么它在 Staging 中没有发挥作用的理论都将被接受。

编辑

为了回答尼克在下面的问题,Gemfile 只为太阳黑子提供了这一行:gem 'sunspot_rails'

对于 Gemfile.lock,这些是我可以发现的所有包含 Sunspot 或 Solr 引用的行:

0 投票
1 回答
2228 浏览

ruby-on-rails - 使用 Sunspot/Solr 组?

使用 Sunspot 时,我在按组搜索时遇到了一些问题。

这是一个例子:

我想找到每部电影都有一位名叫约翰的 30 岁演员。

问题在于它可能会找到一部有两个演员的电影。一个叫约翰,一个是 30 岁。有没有办法以某种方式将它们组合在一起,以便找到的电影中有一个 30 岁的演员叫约翰?

0 投票
1 回答
5538 浏览

ruby-on-rails - Rails & Sunspot 刻面和过滤

这里几乎是一个菜鸟,所以我很感激有人可以提供的任何帮助。

我正在尝试通过 Sunspot 在我的网站上的搜索中添加分面。Ryan 刚刚发布了一个很棒的 Railscast,它让我开始了:http ://railscasts.com/episodes/278-search-with-sunspot 。我得到了这个工作,并且能够添加额外的方面。我的问题是这些方面是相互独立的。如果我在 3 个不同的属性上有 3 个方面,当我选择一个方面时,我已经选择了一个方面,我只想显示属于这两个方面的结果。到目前为止,它只是从一个方面切换到另一个方面。我觉得这不应该那么困难,但我不知道该怎么做。

我确实找到了本教程:http ://blog.upubly.com/2011/01/06/using-sunspot-in-your-views/ 我认为它正在做我想做的事。我试图让它工作,但即使我试图让它只在一个方面工作,我也没有列出任何结果。只是方面名称,然后没有其他内容。

想法?

谢谢!!

更新

这是我正在尝试做的代码示例:

调整 Railscasts 代码我得到了这个:

在我的样式控制器中:

在我的样式索引视图中(我知道我需要压缩它)

在我的风格模型中:

我的 upubly 代码版本,配对只是试图让“季节性”方面发挥作用:

我将 Search Partial、Search Model 和 SearchHelper 与示例中的相同。我试图弄乱 Helper,因为我的 Facets 将提取文本值,而不仅仅是其他模型的 ID,但无济于事。我没有将我的各种属性设置为单独的模型,因为我认为我不需要那个功能,但我开始不这么想了。

样式控制器:

再次感谢您的帮助。绝对是菜鸟,但真的很享受建立这个网站的过程。Stackoverflow 对我来说已经是一个巨大的帮助,所以我非常感谢所有在这里发布答案的人。