可搜索的插件似乎默认只有10个结果。如何更改此选项以返回所有结果?
@ Bill 我正在寻找这样的东西:
DomainClass.search("This is the query", [max:every_last_one_of_em])
我可以设置40的限制并且可能没问题,但是这个搜索的目的是给人类一个类似的东西列表来消除歧义,所以如果缺少一些东西,愚蠢的人类可能会使用“假设“得到错误的答案。
答案 0 :(得分:3)
来自http://grails.org/Searchable+Plugin+-+Methods+-+search
的文档Options affecting the return value
max - The maximum number of results to return (default 10). Only used with result: "searchResult"
因此,您似乎需要将选项地图传递给您的搜索电话,例如:
DomainClass.search( "This is the query", [max:1000] )
注意,具有“无限制”搜索结果的是Bad Idea(TM)。弄清楚你想要处理的最大值并将其作为限制。
如果你必须,我会建议你有一个“大”的限制。如果你找回那么多,那么再做一个查询以找出有多少(也有一个选项),并向用户显示一条消息“这是一个不完整的集,请进一步限制你的观点”或者其他一些。
如果你绝对必须全部展示它们。然后使用该计数查询(这是我在上面列出的页面中的一个选项),然后使用该计数重新发送搜索作为最大值。
答案 1 :(得分:3)
Mikey使搜索返回所有结果只是从defaultMethodOptions中删除最大字段。
您可以在Configuration - >中找到此声明。 Searchable.groovy
defaultMethodOptions = [
search: [reload: false, escape: true, offset: 0, max: 10, defaultOperator: "and"],
suggestQuery: [userFriendly: true]
]