2010-12-09 4 views
1

Je code suivant (en Grails et interrogeables Plugin aka Compass):Comment puis-je accéder à la propriété de l'objet enfant dans le framework Compas Search?

class Topic { 

    String name; 
    static searchable = true; 
} 

class Question extends BaseEntity { 
    String question; 

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

Comment puis-je recherche Question avec id sujet précis?

Quelque chose comme Question.search ("topics # id: 12") ou Question.search ("topics.id:12") travail dosnt.

Répondre

0

Chage votre bloc interrogeable en question afin qu'il ressemble à ceci:

static searchable = { 
    topics component: true 
} 

et sujet si vous ne voulez pas Sujets retournés comme éléments de recherche racine

static searchable = [ 
    root: false 
] 

Révolutionnez Grails et ajoutez quelques articles, puis téléchargez Luke à partir de http://www.getopt.org/luke/ et ouvrez l'index pour votre objet domaine de question qui sera à ~/.grails/projets/projName/index de recherche/'env'/index/question

Si vous cochez l'onglet documents, vous verrez les termes intégrés dans l'indice qui sera quelque chose comme $/Question/sujets

Cela devrait vous donner le chemin à mettre dans votre Question.search, quelque chose comme:

Question.search ('$/Question/topics/id: 1')

Questions connexes