internal void PopulateElasticDbBulk() { if (!mysqlDbAccess.Connect()) { Console.WriteLine("Unable to connect to mysql db"); } IEnumerable <VoterInfoComelec> listDbVoters = mysqlDbAccess.IterateAll2(); int i = 48720000 + 1; long currTime = Environment.TickCount; List <VoterInfo> bulkVoters = new List <VoterInfo>(); foreach (VoterInfoComelec voter in listDbVoters) { //if (i < 39240000) //{ // i++; // continue; //} VoterInfo emVoter = MapVoterInfo(voter); bulkVoters.Add(emVoter); //emgr.CreateNewVoter(emVoter); if (i % 10000 == 0) { emgr.CreateNewVoterBulk(bulkVoters); Console.WriteLine("Written {0} out of 75302673 records to elastic, took {1}", i, Environment.TickCount - currTime); currTime = Environment.TickCount; bulkVoters.Clear(); } i++; } mysqlDbAccess.Disconnect(); }
private List <VoterInfo> MapResults(ISearchResponse <VoterInfo> response) { List <VoterInfo> retList = new List <VoterInfo>(); int i = 0; Console.WriteLine("Hits: {0}", response.Total); if (response.OriginalException != null) { Console.WriteLine(response.OriginalException); var stream = new System.IO.MemoryStream(); var jsonQuery = System.Text.Encoding.UTF8.GetString(response.ApiCall.RequestBodyInBytes); Console.WriteLine(jsonQuery); return(retList); } foreach (var hit in response.Hits) { VoterInfo newVoter = new VoterInfo() { Address = hit.Source.Address, Firstname = hit.Source.Firstname, Maternalname = hit.Source.Maternalname, Lastname = hit.Source.Lastname, DateOfBirth = hit.Source.DateOfBirth, Sex = hit.Source.Sex, CivilStatus = hit.Source.CivilStatus, }; retList.Add(newVoter); } return(retList); }
public void Query(VoterInfo searchObj) { var result = client.Search <VoterInfo>(s => s.Query(q => q.Terms( c => c.Name("named_query") .Boost(1.1) .Field(p => p.Firstname) .Terms("kobe")))); //string[] values = { "kobe", "brook"}; // cannot capitalize first letter! e.g. Kobe even if the db entry is Kpbe //var result = client.Search<VoterInfo>(s => s.Query(q => q.Terms(c => c.Field("firstname").Terms(values)))); //var result = client.Search<VoterInfo>(s => s.Query(q => q.ConstantScore(c => c.Filter(f => f.Terms(t => t.Field(fld => fld.Firstname).Terms(values)))))); DisplayResult(result); }
public void PopulateElasticDb() { if (!mysqlDbAccess.Connect()) { Console.WriteLine("Unable to connect to mysql db"); } IEnumerable <VoterInfoComelec> listDbVoters = mysqlDbAccess.IterateAll2(); int i = 0; long currTime = Environment.TickCount; foreach (VoterInfoComelec voter in listDbVoters) { VoterInfo emVoter = MapVoterInfo(voter); //emgr.CreateNewVoter(emVoter); if (i % 10000 == 0) { Console.WriteLine("Written {0} out of 75302673 records to elastic, took {1}", i, Environment.TickCount - currTime); currTime = Environment.TickCount; } i++; } mysqlDbAccess.Disconnect(); }
public void CreateNewVoter(VoterInfo voter) { client.Index(voter); }