static void Main(string[] args) { elasticSettings = new ConnectionSettings(new Uri("http://127.0.0.1:9200")) .SetDefaultIndex("people"); client = new ElasticClient(elasticSettings); client.DeleteIndex("people"); // Create an index client.CreateIndex("people", c => c .NumberOfReplicas(0) .NumberOfShards(1)); client.MapFluent<Person>(m => m.IndexAnalyzer("standard") .Properties(props => props .String(s => s .Name(p => p.Message) .Index(FieldIndexOption.analyzed)) .Number(n => n .Name(p => p.Age)) .String(s => s .Name(p => p.FirstName)) .String(s => s .Name(p => p.Sex)) .String(s => s .Name(p => p.LastName)))); //Add some people var jp = new Person { FirstName = "JP", LastName = "Smith", Age = 37, Message = "OMG yay ES!", Sex = "Male" }; var matt = new Person { FirstName = "Matt", LastName = "Toto", Age = 32, Message = "I'm JPs brother", Sex = "Male" }; var christine = new Person { FirstName = "Christine", LastName = "Toto", Age = 0, Message = "I'm JPs wife", Sex = "Female" }; var kevin = new Person { FirstName = "Kevin", LastName = "Toto", Age = 26, Message = "I'm JPs other brother", Sex = "Male" }; client.Index(jp); client.Index(matt); client.Index(christine); client.Index(kevin); client.Refresh(); ///// ** Wildcard search var searchResults = client.Search<Person>(s => s .From(0) .Size(10) .Query(q => q .Wildcard(f => f.LastName, "to*", Boost: 1.0) ) ); foreach (var result in searchResults.Documents) { Console.WriteLine("Found: {0}", result.FirstName + " " + result.LastName); } Console.ReadKey(); }
static void Main(string[] args) { elasticSettings = new ConnectionSettings(new Uri("http://127.0.0.1:9200")) .SetDefaultIndex("people"); client = new ElasticClient(elasticSettings); client.DeleteIndex("people"); // Create an index client.CreateIndex("people", c => c .NumberOfReplicas(0) .NumberOfShards(1) .AddMapping<Person>(m => m.MapFromAttributes())); // Add some people var jp = new Person { FirstName = "JP", LastName = "Toto", Age = 37, Message = "OMG yay ES!", Sex = "Male" }; var matt = new Person { FirstName = "Matt", LastName = "Toto", Age = 32, Message = "I'm JPs brother", Sex = "Male" }; var christine = new Person { FirstName = "Christine", LastName = "Toto", Age = 0, Message = "I'm JPs wife", Sex = "Female" }; var kevin = new Person { FirstName = "Kevin", LastName = "Toto", Age = 26, Message = "I'm JPs other brother", Sex = "Male" }; client.Index(jp); client.Index(matt); client.Index(christine); client.Index(kevin); client.Refresh(); var searchResults = client.Search<Person>(s => s .From(0) .Size(10) .Fields(f => f.FirstName, f => f.LastName) .Query(q => q .MatchPhrase(j => j.OnField("Message").QueryString("i'm jps brother")) ) ); foreach (var result in searchResults.Documents) { Console.WriteLine("Found: {0}", result.FirstName + " " + result.LastName); } Console.ReadKey(); }
public void Setup() { settings = new ConnectionSettings(new Uri(esconnection)) .SetDefaultIndex(indexName) .UsePrettyResponses(); client = new ElasticClient(settings); if (client.IndexExists(indexName).Exists) client.DeleteIndex(indexName); PricesInstaller.CreateIndex(client, indexName).AssertValid(); client.Index(new Acco { Id = 1, LocationCode = "AA" }).AssertValid(); client.Index(new Acco { Id = 2, LocationCode = "BB" }).AssertValid(); client.Index(new Acco { Id = 3, LocationCode = "CC" }).AssertValid(); client.Index(new Price { Id = 1, CareType = "AI", DepartureDate = DateTime.Today, DurationDays = 10, PricePerPerson = 100, TransportFrom = "AMS", TransportType = "EV" }, new IndexParameters { Parent = 1.ToString(CultureInfo.InvariantCulture) }).AssertValid(); client.Index(new Price { Id = 2, CareType = "HP", DepartureDate = DateTime.Today, DurationDays = 11, PricePerPerson = 100, TransportFrom = "AMS", TransportType = "EV" }, new IndexParameters { Parent = 1.ToString(CultureInfo.InvariantCulture) }).AssertValid(); client.Index(new Price { Id = 3, CareType = "AI", DepartureDate = DateTime.Today, DurationDays = 12, PricePerPerson = 100, TransportFrom = "AMS", TransportType = "EV" }, new IndexParameters { Parent = 2.ToString(CultureInfo.InvariantCulture) }).AssertValid(); client.Refresh().AssertValid(); }
public ActionResult Create([Bind(Include = "JSON,Id,AspNetUserId,Name,Date,Url_Img,Url_Img_Origin,Str1,Str2")] Demotivator demotivator, string newtag) { var uri = new Uri("https://IlwEAOgvDkuHk3yiB74RhwSs1YC0KCUu:@aniknaemm.east-us.azr.facetflow.io"); var settings = new ConnectionSettings(uri).SetDefaultIndex("indexdem"); var client = new ElasticClient(settings); // Execute a search using the connection from above. if (ModelState.IsValid) { demotivator.AspNetUserId = User.Identity.GetUserId(); demotivator.Date = DateTime.Now; db.Demotivators.Add(demotivator); db.SaveChanges(); var index = client.Index(demotivator); client.Refresh(); AddTag(newtag, demotivator.Id); return RedirectToAction("Index"); } ViewBag.AspNetUserId = new SelectList(db.AspNetUsers, "Id", "Email", demotivator.AspNetUserId); return View(demotivator); }
static void Main(string[] args) { elasticSettings = new ConnectionSettings(new Uri("http://127.0.0.1:9200")) .SetDefaultIndex("people"); client = new ElasticClient(elasticSettings); client.DeleteIndex("people"); // Create an index client.MapFluent<Person>(m => m.IndexAnalyzer("standard") .Properties(props => props .String(s => s .Name(p => p.Message) .Index(FieldIndexOption.analyzed)) .Number(n => n .Name(p => p.Age)) .String(s => s .Name(p => p.FirstName)) .String(s => s .Name(p => p.Sex)) .String(s => s .Name(p => p.LastName)))); // Add some people var jp = new Person { FirstName = "JP", LastName = "Smith", Age = 37, Message = "OMG yay ES!", Sex = "Male" }; var matt = new Person { FirstName = "Matt", LastName = "boosting", Age = 32, Message = "test", Sex = "Male" }; var christine = new Person { FirstName = "Christine", LastName = "Toto", Age = 0, Message = "I'm JPs wife", Sex = "Female" }; var kevin = new Person { FirstName = "Kevin", LastName = "boosting", Age = 26, Message = "I'm JPs other boosting", Sex = "Male" }; client.Index(jp); client.Index(matt); client.Index(christine); client.Index(kevin); client.Refresh(); ///// ** Basic search with QueryString var searchResults = client.Search<Person>(s => s.Query(q => q. QueryString(x => x.Query("boosting")))); foreach (var result in searchResults.Documents) { Console.WriteLine("Found: {0}", result.FirstName + " " + result.LastName); } Console.ReadKey(); // Boosting client.DeleteIndex("people"); // Create an index client.MapFluent<Person>(m => m.IndexAnalyzer("standard") .Properties(props => props .String(s => s .Name(p => p.Message) .Index(FieldIndexOption.analyzed).Boost(2.0)) .Number(n => n .Name(p => p.Age)) .String(s => s .Name(p => p.FirstName)) .String(s => s .Name(p => p.Sex)) .String(s => s .Name(p => p.LastName)))); // Add some people var jp1 = new Person { FirstName = "JP", LastName = "Smith", Age = 37, Message = "OMG yay ES!", Sex = "Male" }; var matt1 = new Person { FirstName = "Matt", LastName = "boosting", Age = 32, Message = "boosting", Sex = "Male" }; var christine1 = new Person { FirstName = "Christine", LastName = "Toto", Age = 0, Message = "I'm JPs wife", Sex = "Female" }; var kevin1 = new Person { FirstName = "Kevin", LastName = "boosting", Age = 26, Message = "I'm JPs other test", Sex = "Male" }; client.Index(jp1); client.Index(matt1); client.Index(christine1); client.Index(kevin1); client.Refresh(); ///// ** Basic search with QueryString var searchResults2 = client.Search<Person>(s => s.Query(q => q. QueryString(x => x.Query("boosting")))); foreach (var result in searchResults2.Documents) { Console.WriteLine("Found: {0}", result.FirstName + " " + result.LastName); } Console.ReadKey(); }