static void Read(String path, String dbName) { JSONFileEngine db = new JSONFileEngine(Path.Combine(path, dbName + "_records")); var iter = db.createIterator(); while (iter.hasNext()) { iter.next(); Debug.WriteLine(iter.getKey() + ": " + iter.getValue()); Console.WriteLine(iter.getKey() + ": " + iter.getValue()); } }
static void Write(String folder = "", String confDB = "", String dbName = "", String file = "") { try{ folder = !String.IsNullOrEmpty(folder) ? folder : DEFAULT_FOLDER; confDB = !String.IsNullOrEmpty(confDB) ? confDB : DEFAULT_CONFIGURATION_DB; dbName = !String.IsNullOrEmpty(dbName) ? dbName : DEFAULT_DB_NAME; file = !String.IsNullOrEmpty(file) ? file :DEFAULT_INPUT_FILE; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } Key key1 = new HammingKey("recordLevel", 32, .1, 106, false, true, new BloomFilter(1000, 10, 2)); //LevelDBEngine engine = new LevelDBEngine(folder, confDB, false); JSONFileEngine engine = new JSONFileEngine(Path.Combine(folder, confDB)); HammingConfiguration hc = new HammingConfiguration(folder, dbName, engine, new Key[] { key1 }, false); //LevelDBEngineFactory engineFactory = new LevelDBEngineFactory(); JSONFileEngineFactory engineFactory = new JSONFileEngineFactory(); HammingLSHStore lsh = new HammingLSHStore(folder, dbName, engineFactory, hc, false); List <string> lines = File.ReadAllLines(file).ToList(); Random r = new Random(); for (int i = 0; i < lines.Count; i++) { string line = lines[i]; List <string> tokens = line.Split(',').ToList(); string id = tokens[0]; string lastName = tokens[1]; string firstName = tokens[2]; string address = tokens[3]; string town = tokens.Count == 5 ? tokens[4] : ""; Record rec = new Record(); rec.setId(id); rec.set("Last Name", lastName); rec.set("First Name", firstName); rec.set("Address", address); rec.set("Town", town); lsh.insert(rec); } lsh.close(); hc.close(); } catch (Exception ex) {//Catch exception if any Console.Error.WriteLine(ex.Message); } }