Json Index
This crate allows you to create an index (a multi-value sorted map) based on serde json values.
Example
Single index
let string_indexer = String;
let mut names_index = new;
names_index.batch;
/*outputs
{
"user.6": String("Ama"),
"user.4": String("Jake"),
"user.3": String("Joseph"),
"user.1": String("Kwadwo"),
"user.2": String("Kwame"),
"user.5": String("Mambisi")
}
*/
Multi index with dot path
let mut students: = new;
students.insert;
students.insert;
students.insert;
let age_order = JsonPathOrder ;
let name_order = JsonPathOrder ;
let indexer = Json;
let mut index = new;
index.batch;
println!;
/* Outputs
{
"student:4": Object({"age": Number(11), "grade": Number(3.1), "name": String("Bug"), "photo": Object({"id": String("2121"), "url": String("example.com")})}),
"student:2": Object({"age": Number(12), "grade": Number(4.0), "name": String("Elka")}),
"student:1": Object({"age": Number(12), "grade": Number(3.1), "name": String("Joseph")}),
"student:0": Object({"age": Number(21), "grade": Number(3.1), "name": String("Mambisi")})
}
*/