以下是一些域类及其关系:
class Vehicle {
Integer hireRatePerHour
}
class Bus extends Vehicle {
Integer numberOfSeats
}
class Truck extends Vehicle {
Integer maxLoad
}
class Trip {
String origin
String destination
static belongsTo = [vehicle: Vehicle]
}
我希望能够进行设置,以便可以根据类的属性searchable
搜索旅行:numberOfSeats
Bus
def results = Trip.search {
must(term('numberOfSeats', params.numberOfSeats))
}
根据我在文档和网上看到的内容,Bus
(或者Vehicle
,不确定,因为Bus
extends Vehicle
)应该设置为component
. 所以这就是我所拥有的(就searchable
配置而言):
class Trip {
static searchable = {
vehicle component: true
}
}
class Bus {
static searchable = true
}
class Truck {
static searchable = true
}
class Vehicle {
static searchable = true
}
但是,results
始终是一个空列表。我使用 Luke ( http://code.google.com/p/luke/ ) 进行了搜索numberOfSeats
,所有结果都是类的Bus
(Trip
我猜这不是我为什么Trip.search { ... }
不起作用的原因)。
所以,经过长时间的解释......有人知道如何static searchable = ...
在我的域类中进行组织以便能够Trip.search { ... }
使用numberOfSeats
吗?