検索可能なプラグインは、デフォルトで 10 件の結果のみに設定されているようです。これを変更してすべての結果を返すにはどうすればよいですか?
@ビル私はこのようなものを探しています:
DomainClass.search("This is the query", [max:every_last_one_of_em])
40 程度の制限を設定することもできますが、おそらく問題ありませんが、この検索の目的は、人間に類似のもののリストを提供して曖昧さをなくすことです。間違った答えを得る。
検索可能なプラグインは、デフォルトで 10 件の結果のみに設定されているようです。これを変更してすべての結果を返すにはどうすればよいですか?
@ビル私はこのようなものを探しています:
DomainClass.search("This is the query", [max:every_last_one_of_em])
40 程度の制限を設定することもできますが、おそらく問題ありませんが、この検索の目的は、人間に類似のもののリストを提供して曖昧さをなくすことです。間違った答えを得る。
検索ですべての結果が返されるようにするためのマイキーは、defaultMethodOptions から max フィールドを削除するだけです。
この宣言は Configuration -> Searchable.groovy にあります。
defaultMethodOptions = [
search: [reload: false, escape: true, offset: 0, max: 10, defaultOperator: "and"],
suggestQuery: [userFriendly: true]
]
次のドキュメントから: 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) であることに注意してください。処理する最大値を把握し、それを制限として使用します。
必要に応じて、「大きな」制限を設けることをお勧めします。その数が返された場合は、さらにクエリを実行してその数を確認し (そのためのオプションもあります)、「これは不完全なセットです。ビューをさらに制限してください」というメッセージをユーザーに表示します。またはそのようなもの。
絶対にすべてを表示する必要がある場合。次に、そのカウント クエリを使用し (上記のページのオプションです)、そのカウントを最大値として使用して検索を再送信します。