我对域类及其关联的域类有一个复杂的可搜索配置。当我搜索大约 200 个结果(最大:200)时,响应时间太长。
在结果集中,我为我的域类中的搜索指定了所有字段(简单或关联)。我只需要返回一个 id 列表并忽略 domain class 的其他字段。是否可以?我想这样做是为了加快搜索速度。此 id 列表将用于查询另一个 no-sql 数据库。似乎获取所有字段正在减慢我的搜索速度。
我对域类及其关联的域类有一个复杂的可搜索配置。当我搜索大约 200 个结果(最大:200)时,响应时间太长。
在结果集中,我为我的域类中的搜索指定了所有字段(简单或关联)。我只需要返回一个 id 列表并忽略 domain class 的其他字段。是否可以?我想这样做是为了加快搜索速度。此 id 列表将用于查询另一个 no-sql 数据库。似乎获取所有字段正在减慢我的搜索速度。
我认为您可以通过将属性存储设置为no来实现您想要的(让属性可搜索但不返回)。
例如:
class MyDomain {
String name
String email
static searchable = {
email index:'analyzed', store:'no'
name index:'analyzed'
}
}
在这个域中,我说 name 和 email 被索引和分析(以便可以搜索它们)但是 email 属性没有被存储,所以当返回对象时它将为 null。对于其他属性检查: http: //grails.org/Searchable+Plugin+-+Mapping+-+Searchable+Property