如何在太阳黑子中使用CouchRest?

时间:2011-09-08 06:45:09

标签: ruby-on-rails couchdb sunspot couchrest

CouchRest和Sunspot之间的集成存在问题。当我搜索书籍细节时,太阳黑子的结果是空的。我试着谷歌很长一段时间但没有帮助。

Started GET "/books/search?utf8=%E2%9C%93&query=Book of Life&commit=Search%21" for 127.0.0.1 at 2011-09-08 11:27:41 +0700
Processing by BooksController#search as HTML
Parameters: {"utf8"=>"?", "query"=>"Book of Life", "commit"=>"Search!"}
Rendered books/index.html.erb within layouts/application (10.7ms)
Completed 200 OK in 145ms (Views: 20.6ms | ActiveRecord: 0.0ms)
[] <-- I got empty result

我的系统

  • Ruby 1.9.2p290
  • Rails 3.0.10
  • CouchDB 1.1.0

文件结构(https://gist.github.com/1164637/

  • 型号(/app/models/book_detail.rb)
  • 控制器(/app/controllers/books_controller.rb)
  • CouchRest的太阳黑子适配器(/config/initializers/couchdb.rb)
  • 太阳黑子适配器模块(/config/initializers/sunspot_couch.rb)

注意:抱歉代码链接。我总是得到“请使用代码工具栏按钮将所有代码缩进4个空格”。我尝试删除所有标签并遵循SO代码格式指南,但它不再起作用。

1 个答案:

答案 0 :(得分:1)

如果我遗漏了某些内容,请原谅我,但我看不到太阳黑子是如何将“关键字”映射到CouchRest对象上的可搜索字段。

首先调试我会在浏览器管理界面中访问Couch,以确保我的结果正常。然后我会仔细检查太阳黑子是什么东西。如果太阳黑子包含你的记录,那么bug就在搜索方面,如果它是空的,那么它可能会引入它注入你的模型类的对象生命周期管理代码。

自从我做了任何严肃的Ruby以来已经很久了,希望我能提供更多帮助。一种选择是利用一些直接的CouchDB全文产品,如CouchDB Lucene:https://github.com/rnewson/couchdb-lucene