package Ġdev . e vo . elastic magic Ċ Ċ import Ġdev . e vo . elastic magic . compile . Action Compiler Ċ import Ġdev . e vo . elastic magic . compile . Prepared Bulk Ċ import Ġdev . e vo . elastic magic . compile . Compiler Set Ċ import Ġdev . e vo . elastic magic . compile . Prepared Create Index Ċ import Ġdev . e vo . elastic magic . compile . Prepared Update Mapping Ċ import Ġdev . e vo . elastic magic . compile . using Index Ċ import Ġdev . e vo . elastic magic . bulk . Action Ċ import Ġdev . e vo . elastic magic . doc . Base Doc Source Ċ import Ġdev . e vo . elastic magic . doc . Document Ċ import Ġdev . e vo . elastic magic . bulk . Refresh Ċ import Ġdev . e vo . elastic magic . serde . Ser de Ċ import Ġdev . e vo . elastic magic . transport . Request Ċ import Ġdev . e vo . elastic magic . transport . Elasticsearch Exception Ċ import Ġdev . e vo . elastic magic . transport . Elasticsearch Transport Ċ import Ġdev . e vo . elastic magic . transport . Method Ċ import Ġdev . e vo . elastic magic . transport . Parameters Ċ Ċ import Ġkotlinx . coroutines . Comp letable Deferred Ċ Ċ internal Ġfun ĠParams . to Request Parameters (): ĠParameters Ġ{ ĊĠĠĠ Ġreturn ĠParameters (* this . toList (). to Typed Array ()) Ċ } Ċ Ċ class ĠElasticsearch Cluster ( ĊĠĠĠ Ġval Ġtransport : ĠElasticsearch Transport , ĊĠĠĠ Ġserde : ĠSer de ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġcompilers : ĠCompiler Set ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġserde Ġ= Ġserde Ġ?: Ġtransport . serde ĊĊĠĠĠ Ġprivate Ġval Ġes Version Ġ= ĠComp letable Deferred < Elasticsearch Version >() ĊĠĠĠ Ġprivate Ġval Ġsn iff ed Comp ilers Ġ= ĠComp letable Deferred < Compiler Set >() ĊĊĠĠĠ Ġoperator Ġfun Ġget ( index Name : ĠString ): ĠElasticsearch Index Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠElasticsearch Index ( index Name , Ġtransport , Ġserde , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġfetch Version (): ĠElasticsearch Version Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtransport . request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest ( Method . GET ," ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġversion Obj Ġ= Ġresult . obj (" version ") ĊĠĠĠĠĠĠĠ Ġval Ġraw Es Version Ġ= Ġversion Obj . string (" number ") ĊĠĠĠĠĠĠĠ Ġval Ġ( major , Ġminor , Ġpatch ) Ġ= Ġraw Es Version . split ('.') ĊĠĠĠĠĠĠĠ Ġreturn ĠElasticsearch Version ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmajor . toInt (), Ġminor . toInt (), Ġpatch . toInt () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Version (): ĠElasticsearch Version Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! es Version . is Completed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOnly Ġfirst Ġvalue Ġwill Ġbe Ġset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġes Version . complete ( fetch Version ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġes Version . await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Comp ilers (): ĠCompiler Set Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( comp ilers Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcompilers ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! sn iff ed Comp ilers . is Completed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOnly Ġfirst Ġvalue Ġwill Ġbe Ġset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn iff ed Comp ilers . complete ( Compiler Set ( getVersion ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsn iff ed Comp ilers . await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate Index ( ĊĠĠĠĠĠĠĠ Ġindex Name : ĠString , ĊĠĠĠĠĠĠĠ Ġmapping : ĠDocument , ĊĠĠĠĠĠĠĠ Ġsettings : ĠParams Ġ= ĠParams (), ĊĠĠĠĠĠĠĠ Ġaliases : ĠParams Ġ= ĠParams (), ĊĠĠĠĠĠĠĠ ĠwaitFor Active Shards : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmaster Timeout : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġtimeout : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠCreate Index Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreate Index Ġ= ĠPrepared Create Index ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Name Ġ= Ġindex Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings Ġ= Ġsettings , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapping Ġ= Ġmapping , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaliases Ġ= Ġaliases , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwaitFor Active Shards Ġ= ĠwaitFor Active Shards , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Timeout Ġ= Ġmaster Timeout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġtimeout , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransport . request ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Comp ilers (). create Index . compile ( serde . serializer , Ġcreate Index ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġdelete Index ( ĊĠĠĠĠĠĠĠ Ġindex Name : ĠString , ĊĠĠĠĠĠĠĠ Ġallow No Indices : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmaster Timeout : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġtimeout : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ): ĠDelete Index Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= ĠMethod . DELETE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġindex Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= ĠParameters ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" allow _ no _ indices " Ġto Ġallow No Indices ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" master _ timeout " Ġto Ġmaster Timeout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" timeout " Ġto Ġtimeout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Result Ġ= Ġ{ Ġctx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Index Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġacknowled ged Ġ= Ġctx . boolean (" ack nowled ged "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransport . request ( request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġindex Exists ( ĊĠĠĠĠĠĠĠ Ġindex Name : ĠString , ĊĠĠĠĠĠĠĠ Ġallow No Indices : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġignore Unavailable : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= ĠMethod . HEAD , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġindex Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= ĠParameters ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" allow _ no _ indices " Ġto Ġallow No Indices ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ignore _ un available " Ġto Ġignore Unavailable ?. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Result Ġ= Ġ{ Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransport . request ( request ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠElasticsearch Exception . NotFound ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġupdate Mapping ( ĊĠĠĠĠĠĠĠ Ġindex Name : ĠString , ĊĠĠĠĠĠĠĠ Ġmapping : ĠDocument , ĊĠĠĠĠĠĠĠ Ġallow No Indices : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġignore Unavailable : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġwrite Index Only : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmaster Timeout : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġtimeout : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ): ĠUpdate Mapping Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdate Mapping Ġ= ĠPrepared Update Mapping ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Name Ġ= Ġindex Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapping Ġ= Ġmapping , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġallow No Indices Ġ= Ġallow No Indices , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġignore Unavailable Ġ= Ġignore Unavailable , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Only Ġ= Ġwrite Index Only , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Timeout Ġ= Ġmaster Timeout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġtimeout , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransport . request ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Comp ilers (). update Mapping . compile ( serde . serializer , Ġupdate Mapping ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠElasticsearch Index ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġprivate Ġval Ġtransport : ĠElasticsearch Transport , ĊĠĠĠ Ġprivate Ġval Ġserde : ĠSer de , ĊĠĠĠ Ġval Ġcluster : ĠElasticsearch Cluster , Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġ< S Ġ: ĠBase Doc Source > Ġsearch ( ĊĠĠĠĠĠĠĠ Ġsearch Query : ĠBase Search Query < S , Ġ*> ĊĠĠĠ Ġ): ĠSearch QueryResult < S > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcompiled Ġ= Ġcluster . get Comp ilers (). search Query . compile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserde . serializer , Ġsearch Query . using Index ( name ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransport . request ( compiled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġbulk ( ĊĠĠĠĠĠĠĠ Ġactions : ĠList < Action <* >>, ĊĠĠĠĠĠĠĠ Ġrefresh : ĠRefresh ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġtimeout : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġparams : ĠParams Ġ= ĠParams (), ĊĠĠĠ Ġ): ĠBulk Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbulk Ġ= ĠPrepared Bulk ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Ġ= Ġrefresh , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= Ġtimeout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġparams , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcompiled Ġ= Ġcluster . get Comp ilers (). bulk . compile ( serde . serializer , Ġbulk ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtransport . bulk Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompiled . method , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompiled . path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġcompiled . parameters , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġcompiled . body ?. flatMap ( Action Compiler . Compiled :: toList ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Result Ġ= Ġcompiled . process Result , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ