Pregunta

Tengo el siguiente código (en griales y complemento de búsqueda, también conocido como Compass):

class Topic {

  String name;
  static searchable = true;
}

class Question extends BaseEntity {
  String question;

  static searchable = true;
  static hasMany = [
      topics: Topic
  ]
}

¿Cómo puedo buscar una pregunta con una identificación de tema específica?

Algo como Question.search("topics#id:12") o Question.search("topics.id:12") no funciona.

¿Fue útil?

Solución

Cambie su bloque de búsqueda en Pregunta para que se vea así:

static searchable = {
    topics component: true
}

y en Tema si no desea que los temas se devuelvan como elementos de búsqueda raíz

static searchable = [
    root: false
]

Enciende griales y agrega algunos elementos, luego descarga Luke desde http://www.getopt.org/luke/y abra el índice de su objeto de dominio Pregunta que estará en ~/.grails/projects/projName/searchable-index/'env'/index/question

Si marca la pestaña de documentos, verá los términos incrustados en el índice, que serán algo así como $/Pregunta/temas

Esto debería darle la ruta para ingresar su Question.search, algo como:

Pregunta.búsqueda('$/Pregunta/temas/id:1')

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