2012-04-11 8 views
2

Sorry, wenn der Titel nicht so spezifisch ist, aber ich weiß nicht, wie ich mein Problem sonst noch angeben soll. Ich verwende das durchsuchbare Plugin und alles war in Ordnung, bis ich nach Informationen suchen musste, die sich auf einer Domäne befinden, die einem hasMany - BelongsTo zugeordnet ist.
Beispiel:
Ich habe zwei Klassen:Grails - Durchsuchbares Plugin: Daten können nicht in einer Eins-zu-viele-Beziehung gesucht werden

class Author { 
    String name 
    static hasMany = [books: Book] 
    static searchable = true 
} 

Und

class Book { 
    String name 
    static belongTo = [author: Author] 
    static searchable = true 
} 

Ich brauche ein Buch gegeben suchen können entweder Name oder Autors.
Aber beim Aufruf Book.search(query, [properties:['name', author]]) wird nur der Name des Buches gesucht, aber nie der Autor.
Ich habe versucht, mit author component: true (Buchklasse), root:false (auf Author-Klasse) ohne Glück.

Dieses Problem kostete mich schon Stunden, und ich war mir sicher, es musste etwas einfach zu implementieren sein.

Antwort

1

Haben Sie versucht, Name durch author.name zu ersetzen, sollte funktionieren, verweisen auf Dokumentation auf Verdrahtung Domänen um durchsuchbar zu sein, auch luke ist ein gutes Werkzeug zum Testen Ihrer Abfragen, ich konnte es nicht richtig ohne Dieses Werkzeug http://code.google.com/p/luke/downloads/detail?name=lukeall-3.5.0.jar&can=2&q=

+0

Ja, es scheint, als müsste ich mir der internen Struktur des Index bewusst sein. Denn wenn ich den Index selbst nicht nenne, wird standardmäßig "/ domain/property" verwendet. Vielen Dank – GalmWing