@@ -80,6 +80,50 @@ public async Task<List<IBaseNode>> QueryNodesAsync(JObject query, JObject pagina
8080 return nodes ;
8181 }
8282
83+ public async Task < List < IBaseNode > > SearchNodesAsync ( string text , JObject pagination = null )
84+ {
85+ string uri = URI + "/nodes/search" ;
86+
87+ IDictionary < string , string > queryParams = new Dictionary < string , string > ( ) ;
88+ if ( pagination != null )
89+ {
90+ queryParams = pagination . ToObject < Dictionary < string , string > > ( ) ;
91+ }
92+
93+ queryParams . Add ( "text" , text ) ;
94+
95+ JObject response = await Driver . GetAsync ( uri , queryParams ) ;
96+
97+ return NodeUtil . NodeList ( response , this ) ;
98+ }
99+
100+ public async Task < List < IBaseNode > > SearchNodesAsync ( JObject search , JObject pagination = null )
101+ {
102+ string uri = URI + "/nodes/search" ;
103+
104+ IDictionary < string , string > queryParams = new Dictionary < string , string > ( ) ;
105+ if ( pagination != null )
106+ {
107+ queryParams = pagination . ToObject < Dictionary < string , string > > ( ) ;
108+ }
109+
110+ JObject payload = null ;
111+ if ( search . ContainsKey ( "search" ) )
112+ {
113+ payload = search ;
114+ }
115+ else
116+ {
117+ payload = new JObject ( ) ;
118+ payload . Add ( "search" , search ) ;
119+ }
120+
121+ HttpContent content = new StringContent ( payload . ToString ( ) ) ;
122+ JObject response = await Driver . PostAsync ( uri , queryParams , content ) ;
123+
124+ return NodeUtil . NodeList ( response , this ) ;
125+ }
126+
83127 public async Task < List < IBaseNode > > FindNodesAsync ( JObject config , JObject pagination = null )
84128 {
85129 string uri = this . URI + "/nodes/find" ;
0 commit comments