Pregunta

Tengo un problema con la integración entre Couchrest y Sunspot. Cuando busco el detalle del libro, el resultado de Sunspot está vacío. Intento buscarlo en Google durante mucho tiempo, pero no tengo ayuda.

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

Mi sistema

  • Ruby 1.9.2p290
  • Rails 3.0.10
  • CouchDB 1.1.0

Estructura de archivo ( https://gist.github.com/1164637/ )

  • Modelo (/app/models/book_detail.rb)
  • Controlador (/app/controllers/books_controller.rb)
  • Sunspot Adapter para Couchrest (/Config/initializers/couchdb.rb)
  • Módulo de adaptador SunSpot (/Config/initializers/sunspot_couch.rb)

Nota: Perdón por el enlace de código. Siempre tengo "por favor, envíe todo el código por 4 espacios usando el botón Barra de herramientas de código". Intento eliminar todo la pestaña y sigo la guía de formato de código, pero ya no funciona.

¿Fue útil?

Solución

Perdóname si me falta algo, pero no puedo ver cómo Sunspot está asignando "palabras clave" a los campos de búsqueda en tus objetos Couchrest.

Para depurar primero, visitaría Couch en la interfaz de usuario administradora del navegador para asegurarme de que mi final funcione. Luego verificaría que la mancha solar está obteniendo cualquier cosa. Si SunSpot contiene sus registros, entonces el error está en el lado de la búsqueda, si está vacío, tal vez algo se acelere con el código de administración del ciclo de vida del objeto que inyecta en su clase de modelo.

Han pasado años desde que hice cualquier rubí serio, desearía poder ser más útil. Una opción es aprovechar algunas de las ofertas directas de texto completo como CouchDB Lucene: https://github.com/rnewson/couchdb-lucene

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top