package Ġorg . t ay my r . lag om . elasticsearch . search . dsl . query . join ing Ċ Ċ import Ġorg . t ay my r . lag om . elasticsearch . search . dsl . query . Query Ċ Ċ /** Ċ Ġ* ĠSee Ġ[ Elasticsearch ĠDocs ]( https :// www . elastic . co / guide / en / elasticsearch / reference / current / query - dsl - nested - query . html ) Ċ Ġ*/ Ċ data Ġclass ĠNested Query ( val Ġnested : ĠNested Query Body ) Ġ: ĠJoin ing Query Ġ{ ĊĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġpath : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġquery : ĠQuery ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġscore Mode : ĠNested Query Score Mode ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġpath ( path : ĠString ) Ġ= Ġapply Ġ{ Ġthis . path Ġ= Ġpath Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġquery ( query : ĠQuery ) Ġ= Ġapply Ġ{ Ġthis . query Ġ= Ġquery Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġscore Mode ( score Mode : ĠNested Query Score Mode ) Ġ= Ġapply Ġ{ Ġthis . score Mode Ġ= Ġscore Mode Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild () Ġ= ĠNested Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNested Query Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġpath Ġ?: Ġerror (" Field Ġ' path ' Ġcan 't Ġbe Ġnull "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery Ġ= Ġquery Ġ?: Ġerror (" Field Ġ' query ' Ġcan 't Ġbe Ġnull "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscore Mode Ġ= Ġscore Mode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġbuilder () Ġ= ĠBuilder () ĊĠĠĠ Ġ} Ċ }