@@ -86,8 +86,6 @@ public void run()
86
86
schema
87
87
) ;
88
88
// STEP_END
89
-
90
- // Tests for 'make_index' step.
91
89
// REMOVE_START
92
90
Assert . True ( indexCreated ) ;
93
91
// REMOVE_END
@@ -98,8 +96,6 @@ public void run()
98
96
bool user2Set = db . JSON ( ) . Set ( "user:2" , "$" , user2 ) ;
99
97
bool user3Set = db . JSON ( ) . Set ( "user:3" , "$" , user3 ) ;
100
98
// STEP_END
101
-
102
- // Tests for 'add_data' step.
103
99
// REMOVE_START
104
100
Assert . True ( user1Set ) ;
105
101
Assert . True ( user2Set ) ;
@@ -118,8 +114,6 @@ public void run()
118
114
) ) ;
119
115
// >>> {"name":"Paul Zamir","email":"[email protected] ", ...
120
116
// STEP_END
121
-
122
- // Tests for 'query1' step.
123
117
// REMOVE_START
124
118
Assert . Equal (
125
119
"{\" name\" :\" Paul Zamir\" ,\" email\" :\" [email protected] \" ,\" age\" :35,\" city\" :\" Tel Aviv\" }" ,
@@ -140,8 +134,6 @@ public void run()
140
134
) ) ;
141
135
// >>> London, Tel Aviv
142
136
// STEP_END
143
-
144
- // Tests for 'query2' step.
145
137
// REMOVE_START
146
138
Assert . Equal (
147
139
"London, Tel Aviv" ,
@@ -166,8 +158,6 @@ public void run()
166
158
// >>> London - 1
167
159
// >>> Tel Aviv - 2
168
160
// STEP_END
169
-
170
- // Tests for 'query3' step.
171
161
// REMOVE_START
172
162
Assert . Equal ( 2 , resultsList . Count ) ;
173
163
@@ -181,7 +171,70 @@ public void run()
181
171
Assert . Equal ( 2 , testItem [ "count" ] ) ;
182
172
// REMOVE_END
183
173
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
184
191
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
185
238
// HIDE_START
186
239
}
187
240
}
0 commit comments