@@ -86,8 +86,6 @@ public void run()
8686 schema
8787 ) ;
8888 // STEP_END
89-
90- // Tests for 'make_index' step.
9189 // REMOVE_START
9290 Assert . True ( indexCreated ) ;
9391 // REMOVE_END
@@ -98,8 +96,6 @@ public void run()
9896 bool user2Set = db . JSON ( ) . Set ( "user:2" , "$" , user2 ) ;
9997 bool user3Set = db . JSON ( ) . Set ( "user:3" , "$" , user3 ) ;
10098 // STEP_END
101-
102- // Tests for 'add_data' step.
10399 // REMOVE_START
104100 Assert . True ( user1Set ) ;
105101 Assert . True ( user2Set ) ;
@@ -118,8 +114,6 @@ public void run()
118114 ) ) ;
119115 // >>> {"name":"Paul Zamir","email":"[email protected] ", ... 120116 // STEP_END
121-
122- // Tests for 'query1' step.
123117 // REMOVE_START
124118 Assert . Equal (
125119 "{\" name\" :\" Paul Zamir\" ,\" email\" :\" [email protected] \" ,\" age\" :35,\" city\" :\" Tel Aviv\" }" , @@ -140,8 +134,6 @@ public void run()
140134 ) ) ;
141135 // >>> London, Tel Aviv
142136 // STEP_END
143-
144- // Tests for 'query2' step.
145137 // REMOVE_START
146138 Assert . Equal (
147139 "London, Tel Aviv" ,
@@ -166,8 +158,6 @@ public void run()
166158 // >>> London - 1
167159 // >>> Tel Aviv - 2
168160 // STEP_END
169-
170- // Tests for 'query3' step.
171161 // REMOVE_START
172162 Assert . Equal ( 2 , resultsList . Count ) ;
173163
@@ -181,7 +171,70 @@ public void run()
181171 Assert . Equal ( 2 , testItem [ "count" ] ) ;
182172 // REMOVE_END
183173
174+ // STEP_START make_hash_index
175+ var hashSchema = new Schema ( )
176+ . AddTextField ( "name" )
177+ . AddTagField ( "city" )
178+ . AddNumericField ( "age" ) ;
179+
180+ bool hashIndexCreated = db . FT ( ) . Create (
181+ "hash-idx:users" ,
182+ new FTCreateParams ( )
183+ . On ( IndexDataType . HASH )
184+ . Prefix ( "huser:" ) ,
185+ hashSchema
186+ ) ;
187+ // STEP_END
188+ // REMOVE_START
189+ Assert . True ( hashIndexCreated ) ;
190+ // REMOVE_END
184191
192+ // STEP_START add_hash_data
193+ db . HashSet ( "huser:1" , new HashEntry [ ] {
194+ new ( "name" , "Paul John" ) ,
195+ new ( "email" , "[email protected] " ) , 196+ new ( "age" , 42 ) ,
197+ new ( "city" , "London" )
198+ } ) ;
199+
200+ db . HashSet ( "huser:2" , new HashEntry [ ] {
201+ new ( "name" , "Eden Zamir" ) ,
202+ new ( "email" , "[email protected] " ) , 203+ new ( "age" , 29 ) ,
204+ new ( "city" , "Tel Aviv" )
205+ } ) ;
206+
207+ db . HashSet ( "huser:3" , new HashEntry [ ] {
208+ new ( "name" , "Paul Zamir" ) ,
209+ new ( "email" , "[email protected] " ) , 210+ new ( "age" , 35 ) ,
211+ new ( "city" , "Tel Aviv" )
212+ } ) ;
213+ // STEP_END
214+
215+ // STEP_START query1_hash
216+ SearchResult findPaulHashResult = db . FT ( ) . Search (
217+ "hash-idx:users" ,
218+ new Query ( "Paul @age:[30 40]" )
219+ ) ;
220+
221+ foreach ( Document doc in findPaulHashResult . Documents )
222+ {
223+ Console . WriteLine (
224+ $ "Name: { doc [ "name" ] } , email: { doc [ "email" ] } , " +
225+ $ "age: { doc [ "age" ] } , city:{ doc [ "city" ] } "
226+ ) ;
227+ }
228+ // >>> Name: Paul Zamir, email: [email protected] , age: 35, ... 229+ // STEP_END
230+ // REMOVE_START
231+ Document d = findPaulHashResult . Documents [ 0 ] ;
232+ Assert . Equal (
233+ "Name: Paul Zamir, email: [email protected] , age: 35, city:Tel Aviv" , 234+ $ "Name: { d [ "name" ] } , email: { d [ "email" ] } , " +
235+ $ "age: { d [ "age" ] } , city:{ d [ "city" ] } "
236+ ) ;
237+ // REMOVE_END
185238 // HIDE_START
186239 }
187240}
0 commit comments