Skip to content

Commit 410ddd6

Browse files
DOC-5109 added hash search examples (#414)
* DOC-5109 added hash search examples * DOC-5109 dotnet format changes --------- Co-authored-by: atakavci <[email protected]>
1 parent 34eb220 commit 410ddd6

File tree

1 file changed

+63
-10
lines changed

1 file changed

+63
-10
lines changed

tests/Doc/HomeJsonExample.cs

Lines changed: 63 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)