2

私のGrailsアプリでは、検索可能なプラグインを使用して、「グーグルのような」検索を行います。

私は指示に従い、追加しました:

class Address {
    static searchable =true

    Integer id                  
    AddressGroups addressType   
    String briefDescription     
    String company 
}  

それは本当にうまくいきます。ここでの問題は、私のアプリの検索バーがすべてのクラスを検索していることです。

私はそれが単純な問題であることを知っています。しかし、その問題に関するドキュメントは見つかりませんでした。一度に1つのドメインクラスを検索したいだけです。すべてのクラスではありません。

詳細情報: さらに、ユーザークラスとアドレスグループクラスを取得しました。ご覧のとおり、AddressgroupsはAddressのaddressTypeを提供します。

4

1 に答える 1

3

1 つのタイプの結果のみを検索するには、追加の検索用語「alias:DomainClassName」を追加できます (これは通常のクエリに AND を使用する必要があります)。

(検索語) AND (別名:DomainClassName)

用語が addressGroups にある場合に結果として Person が必要な場合は、addressGroups をコンポーネントとして定義し、addressgroups をコンパスの非ルート オブジェクトにすることができます。

class Person {
    AdressGroups addressType
    static searchable = {
        root true
        addressType component: [prefix:'person_']
    }
}
class AdressGroups {
    static searchable = {
        root false
    }
}
于 2009-10-05T13:28:01.437 に答える