まず第一に、トランジェントの定義は必要ありません。始めるために必要なのはこれだけです。
static searchable = true
「http://localhost:8080/YOUR-APP-NAME-HERE/searchable」にアクセスしてテストできます。実際に製品を追加した場合は、その URL を使用するだけで、ドメイン内の単純なフィールド (たとえば String productName フィールドなど) の 1 つを検索できます。
動作していることを確認したら、フォームに検索フィールドを配置し、いくつかのカスタム メソッドを Product コントローラーに追加して、検索機能を使用できます。
//search form
<form controller="product" action="searchForProducts" >
<g:textField name="query" />
<input type="submit" value="search" />
</form>
//ProductController
def searchForProducts = {
if(params.query) {
def products = Product.search(params.query).results
return [productInstanceList: products]
}
}
hasMany 参照が検索可能である限り、それらを検索に含めることができるはずです。私はまだこれを行う必要がなかったので、詳細については肯定的ではありません.