繁体   English   中英

Grails 可搜索插件:无限结果

[英]Grails searchable plugin: limitless results

可搜索插件似乎默认只有 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 选项传递给您的搜索调用,例如:

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

请注意,具有“无限”搜索结果是一个 Bad Idea(TM)。 找出您想要处理的最大值并将其用作您的限制。

如果必须的话,我建议设置一个“大”的限制。 如果您返回了那么多,则进一步查询以找出有多少(也有一个选项),并向用户显示一条消息“这是一个不完整的集合,请进一步限制您的视图”或一些这样的。

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

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

您可以在 Configuration -> Searchable.groovy 中找到此声明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM