Grails可搜索插件:无限的结果



这个可搜索的插件似乎默认只有10个结果。我如何改变这返回所有结果?

@法案我在找这样的东西:

DomainClass.search("This is the query", [max:every_last_one_of_em])

我可以设置一个像40这样的限制,可能会很好,但这个搜索的目的是给人类一个相似事物的列表来消除歧义,所以如果一些东西缺失了,愚蠢的人类可能会使用"假设"来得到错误的答案。

来自: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"

所以看起来你需要传递一个Map of options给你的搜索调用,比如:

DomainClass.search( "This is the query", [max:1000] )

注意,拥有"无限"的搜索结果是一个坏主意。算出你想处理的最大值,并把它作为你的极限。

如果必须的话,我建议设置一个"较大"的限制。如果您得到了那么多,那么执行进一步的查询以找出有多少(也有一个选项),并向用户显示一条消息,"这是一个不完整的集合,请进一步限制您的视图"或诸如此类。

如果你一定要展示给他们。然后使用计数查询(这是我上面列出的页面中的一个选项),然后使用该计数作为最大值重新发送搜索。

要使搜索返回所有结果,只需从defaultMethodOptions中删除max字段。

你可以在Configuration -> Searchable中找到这个声明。groovy

defaultMethodOptions = [
    search: [reload: false, escape: true, offset: 0, max: 10, defaultOperator: "and"],
    suggestQuery: [userFriendly: true]
]

最新更新