Как использовать CouchRest с Sunspot? - PullRequest
1 голос
/ 08 сентября 2011

У меня проблема с интеграцией между CouchRest и Sunspot. Когда я ищу детали книги, результат от 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

Моя система

  • Рубин 1.9.2p290
  • Рельсы 3.0.10
  • CouchDB 1.1.0

Структура файла (https://gist.github.com/1164637/)

  • Модель (/app/models/book_detail.rb)
  • Контроллер (/app/controllers/books_controller.rb)
  • Sunspot Adapter для CouchRest (/config/initializers/couchdb.rb)
  • Модуль адаптера Sunspot (/config/initializers/sunspot_couch.rb)

ПРИМЕЧАНИЕ: извините за код ссылки. Я всегда получал «Пожалуйста, отступите весь код на 4 пробела, используя кнопку на панели инструментов кода». Я пытаюсь удалить все вкладки и следую указаниям по форматированию кода SO, но это больше не работает.

1 Ответ

1 голос
/ 14 сентября 2011

Простите, если я что-то упустил, но я не вижу, как Sunspot сопоставляет "ключевые слова" с полями поиска в ваших объектах CouchRest.

Для первой отладки я бы посетил Couchинтерфейс администратора браузера, чтобы убедиться, что мой конец работает.Тогда я бы дважды проверил, что пятно получает что-то.Если sunspot содержит ваши записи, то ошибка связана с поиском, если он пуст, что, возможно, что-то не так с кодом управления жизненным циклом объекта, который он внедряет в ваш класс модели.Руби, хотелось бы мне быть более полезным.Одним из вариантов является использование некоторых из полнотекстовых предложений CouchDB, таких как CouchDB Lucene: https://github.com/rnewson/couchdb-lucene

...