1

Lucene クエリを使用して 1 対多の関係を求めて問題に直面しています。たとえば、多くのジョブを含むクラス メンバーがあります。メンバードメインクラスでは

//Member Domain Class
static searchable = {
        analyzer "default"
        only = ['memberName']
        job component: true
    }

ジョブ ドメイン クラスでは、

//Job Domain Class
static searchable = {
        analyzer "default"
        only = ['title','experience']
    }

ここで、ジョブに次のデータがあるとしましょう

ここに画像の説明を入力

したがって、メンバー 1 は「マネージャー」として 2 年間、「ディレクター」として 4 年間の経験があります。

4年以上の経験を持つ「マネージャー」の肩書を持つメンバーを検索したい場合、私のクエリは

query = “ title:( Manager)  AND  experience:[4 TO *]  ”
searchResults = Member.search(query, params){
}

私はそのようなメンバーを持っていないので、メンバーを返す必要はありませんが、タイトル「マネージャー」と「ディレクター」のタイトルの 4 年の経験が一致するため、メンバー 1 が返されます。

このレコードを除外するにはどうすればよいですか?

4

1 に答える 1