public JsonResult Delete(int id) { var oResult = new Object(); try { var settings = new ConnectionConfiguration(new Uri("http://localhost:9200/")) .RequestTimeout(TimeSpan.FromMinutes(2)); var lowlevelClient = new ElasticLowLevelClient(settings); var searchResponse = lowlevelClient.Delete <string>("user", "guest", id.ToString()); bool successful = searchResponse.Success; oResult = new { Bresult = successful, Notice = successful ? "删除成功!" : "删除失败!" }; var responseJson = searchResponse.Body; return(Json(oResult, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { oResult = new { Bresult = false, Notice = String.Format("删除失败!异常:{0}", ex.Message) }; return(Json(oResult, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 删除文档 /// </summary> /// <param name="index"></param> /// <param name="type"></param> /// <param name="id"></param> public bool DeleteDocument(string index, string type, string id) { bool flag = false; StringResponse resStr = null; try { resStr = client.Delete <StringResponse>(index, type, id); var resObj = JObject.Parse(resStr.Body); if ((int)resObj["_shards"]["total"] == 0 || (int)resObj["_shards"]["successful"] > 0) { flag = true; } else { LogUtil.LogInfo(logger, resStr.DebugInformation, nodeId); } } catch (Exception ex) { if (resStr != null) { LogUtil.LogInfo(logger, resStr.DebugInformation, nodeId); } LogUtil.LogError(logger, ex.ToString(), nodeId); } return(flag); }
/// <summary> /// Delete specified document from Elasticsearch. /// It is ok to try to delete a document that is not in the index. /// </summary> /// <param name="type">Type name.</param> /// <param name="documentId">Type name.</param> protected void DeleteDocument(String type, String documentId) { Boolean succeeded; ElasticsearchResponse <DynamicResponse> response; succeeded = false; while (!succeeded) { try { response = _client.Delete <DynamicResponse>(IndexName, type, documentId); if (response.HttpStatusCode == 404) { succeeded = true; } else { CheckResponse(response); succeeded = true; } } catch (Exception) { // Maybe Elasticsearch is to busy. Try again after a minute. Thread.Sleep(60000); succeeded = false; } } }
public async Task <IActionResult> GetResponseByFeedbackId(string feedbackId) { /*_equipmentGroup.*/ //get questionId from feedbackId List <Question> listQuestion = _questionRepository.GetAll().ToList <Question>(); List <Question> listQuestionForFb = new List <Question>(); List <string> listQuestionId = new List <string>(); List <ResponseModel> listResponse = new List <ResponseModel>(); List <Response> listTmp = new List <Response>(); List <ResponseModel> listResForOneQues = new List <ResponseModel>(); List <List <ResponseModel> > listResult = new List <List <ResponseModel> >(); foreach (Question que in listQuestion) { if (que.FeedbackId.Equals(feedbackId)) { listQuestionId.Add(que.QuestionId); listQuestionForFb.Add(que); } } //get all response from QuestionID for (int questionIndex = 0; questionIndex < listQuestionId.Count; questionIndex++) { listTmp = _responseRepository.GetResponseByQuestionId(listQuestionId[questionIndex]).ToList(); foreach (Response r in listTmp) { String tmpResponseDetail = r.ResponseDetail; List <string> listResponseDetail = new List <string>(); //TypeOfQuestion 1: Emotion if (r.Question.TypeOfQuestion == 1) { switch (tmpResponseDetail) { case "1": tmpResponseDetail = "Thất vọng"; break; case "2": tmpResponseDetail = "Tạm ổn"; break; case "3": tmpResponseDetail = "Tốt"; break; case "4": tmpResponseDetail = "Tuyệt vời"; break; case "5": tmpResponseDetail = "Yêu thích"; break; } } //TypeOfQuestion 2: Rating star else if (r.Question.TypeOfQuestion == 2) { tmpResponseDetail = r.ResponseDetail.Substring(0, 1) + " sao"; } else if (r.Question.TypeOfQuestion == 3) { listResponseDetail = getResponseDetail(r.ResponseDetail); foreach (string detail in listResponseDetail) { ResponseModel resModelForMultichoice = new ResponseModel { equipmentId = r.EquipmentId, questionId = questionIndex + "", responseDetail = detail, typeOfQuestion = r.Question.TypeOfQuestion + "", responseTime = r.ResponseTime }; listResponse.Add(resModelForMultichoice); } } //TypeOfQuestion 4: one choice else if (r.Question.TypeOfQuestion == 4) { tmpResponseDetail = r.ResponseDetail; } if (r.Question.TypeOfQuestion != 3) { ResponseModel resModel = new ResponseModel { equipmentId = r.EquipmentId, questionId = questionIndex + "", responseDetail = tmpResponseDetail, typeOfQuestion = r.Question.TypeOfQuestion + "", responseTime = r.ResponseTime }; listResponse.Add(resModel); if (questionIndex == 0) { listResForOneQues.Add(resModel); } } } listResult.Add(listResponse); } var settings = new ConnectionConfiguration(new Uri("http://localhost:9200")) .RequestTimeout(TimeSpan.FromMinutes(2)); var lowlevelClient = new ElasticLowLevelClient(settings); //push data on elastic for count response of feedback int i = 0; int checkIdOfIndexExist = 0; if (HttpContext.Session.GetInt32("TotalIdIndexOfCountRes") != null) { checkIdOfIndexExist = (int)HttpContext.Session.GetInt32("TotalIdIndexOfCountRes"); if (checkIdOfIndexExist != 0) { //Clear all data in index for (int j = 1; j <= checkIdOfIndexExist; j++) { lowlevelClient.Delete <StringResponse>("countresponseforfb", Convert.ToString(j)); } HttpContext.Session.Remove("TotalIdIndexOfCountRes"); } } foreach (ResponseModel res in listResForOneQues) { lowlevelClient.Index <StringResponse>("countresponseforfb", Convert.ToString(++i), PostData.Serializable(res)); } HttpContext.Session.SetInt32("TotalIdIndexOfCountRes", i); //Id cho tung object trong index #region push response on elastic i = 0; checkIdOfIndexExist = 0; if (HttpContext.Session.GetInt32("TotalIdIndex") != null) { checkIdOfIndexExist = (int)HttpContext.Session.GetInt32("TotalIdIndex"); if (checkIdOfIndexExist != 0) { //Clear all data in index for (int j = 1; j <= checkIdOfIndexExist; j++) { lowlevelClient.Delete <StringResponse>("testresponse", Convert.ToString(j)); } HttpContext.Session.Remove("TotalIdIndex"); } } foreach (ResponseModel res in listResponse) { lowlevelClient.Index <StringResponse>("testresponse", Convert.ToString(++i), PostData.Serializable(res)); } HttpContext.Session.SetInt32("TotalIdIndex", i); #endregion ViewBag.countResponse = listResForOneQues.Count; ViewBag.listQuestion = listQuestionForFb; ViewBag.feedbackId = feedbackId; getFeedbackIDByBrandId(); getEquipmentGroupId(); await HttpContext.Session.LoadAsync(); HttpContext.Session.SetString("feedbackId", feedbackId); await HttpContext.Session.CommitAsync(); EquipmentGroup e = new EquipmentGroup { EquipmentGroupId = HttpContext.Session.GetString("equipmentGroupId") }; await GetListFeedbackByEquipmentGroupId(e); return(View("Admin")); }
public virtual void Remove(string indexName, string type, int id) { var removeResponse = Client.Delete <BytesResponse>(indexName, type, id.ToString()); }
protected override void Execute(CodeActivityContext context) { { String Error = ""; bool Res = false; bool Success = false; String Resp = ""; try { //var lowlevelClient = new ElasticLowLevelClient(); var node = new Uri(URL.Get(context)); ConnectionConfiguration config; if (AuthenticationRequired.Get(context) == true) { config = new ConnectionConfiguration(node).BasicAuthentication(UserName.Get(context), Password.Get(context)); } else { config = new ConnectionConfiguration(node); } var lowlevelClient = new ElasticLowLevelClient(config); var deleteData = lowlevelClient.Delete <BytesResponse>(Index.Get(context), Type.Get(context), ID.Get(context)); var responseBytes = deleteData.Body; if (responseBytes == null) { responseBytes = deleteData.ResponseBodyInBytes; } Resp = Encoding.UTF8.GetString(responseBytes, 0, responseBytes.Length); Success = deleteData.Success; if (Success == true) { Error = ""; Res = true; ErrorMessage.Set(context, Error); Response.Set(context, Resp); Result.Set(context, Res); } else { throw deleteData.OriginalException; //ErrorMessage = insertData.OriginalException.ToString(); //Result = false; } } catch (Exception ex) { Error = "Failed to delete data from ElasticSearch. " + ex.Message; Res = false; ErrorMessage.Set(context, Error); Response.Set(context, Resp); Result.Set(context, Res); } } }