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 が返されます。
このレコードを除外するにはどうすればよいですか?