public ActionResult Create(Document document) { if (ModelState.IsValid) { db.Documents.Add(document); db.SaveChanges(); Index(document, "create"); return RedirectToAction("Index"); } return View(document); }
public ActionResult Edit(Document document) { if (ModelState.IsValid) { db.Entry(document).State = EntityState.Modified; db.SaveChanges(); Index(document, "update"); return RedirectToAction("Index"); } return View(document); }
private static void Index(Document document, String operation) { var uriString = ConfigurationManager.AppSettings["SEARCHBOX_URL"]; var searchBoxUri = new Uri(uriString); var settings = new ConnectionSettings(searchBoxUri); settings.SetDefaultIndex("sample"); var client = new ElasticClient(settings); if (!client.IndexExists("sample").Exists) { // Create a new "sample" index with default settings client.CreateIndex("sample", new IndexSettings()); } if (operation.Equals("delete")) { client.DeleteById("sample", "documents", document.DocumentId); } else { client.Index(document, "sample", "documents", document.DocumentId); } }
private static void Index(Document document, String operation) { var uriString = ConfigurationManager.AppSettings["SEARCHBOX_URL"]; var searchBoxUri = new Uri(uriString); var settings = new ConnectionSettings(searchBoxUri); settings.SetDefaultIndex("sample"); var client = new ElasticClient(settings); if (operation.Equals("delete")) { ConnectionStatus status = client.DeleteById("sample", "documents", document.DocumentId); } else { client.Index(document, "sample", "documents", document.DocumentId); } }