1

検索可能なプラグインは、デフォルトで 10 件の結果のみに設定されているようです。これを変更してすべての結果を返すにはどうすればよいですか?

@ビル私はこのようなものを探しています:

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

40 程度の制限を設定することもできますが、おそらく問題ありませんが、この検索の目的は、人間に類似のもののリストを提供して曖昧さをなくすことです。間違った答えを得る。

4

2 に答える 2

3

検索ですべての結果が返されるようにするためのマイキーは、defaultMethodOptions から max フィールドを削除するだけです。

この宣言は Configuration -> Searchable.groovy にあります。

defaultMethodOptions = [
    search: [reload: false, escape: true, offset: 0, max: 10, defaultOperator: "and"],
    suggestQuery: [userFriendly: true]
]
于 2011-10-21T16:28:38.780 に答える
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) であることに注意してください。処理する最大値を把握し、それを制限として使用します。

必要に応じて、「大きな」制限を設けることをお勧めします。その数が返された場合は、さらにクエリを実行してその数を確認し (そのためのオプションもあります)、「これは不完全なセットです。ビューをさらに制限してください」というメッセージをユーザーに表示します。またはそのようなもの。

絶対にすべてを表示する必要がある場合。次に、そのカウント クエリを使用し (上記のページのオプションです)、そのカウントを最大値として使用して検索を再送信します。

于 2011-07-07T22:44:20.973 に答える