public static bool updateListUser(string ID, List <long> LstUserId, string Type) { if (EnableElasticServer.ToIntOrZero() == 1) { try { var result = ConnectionToES.EsClient().Get <ElasticModel>(Type + "_" + ID.ToString(), x => x.Index(ElasticIndex).Type(ElasticModel)); ElasticModel tmpModel = result.Source; if (LstUserId != null && LstUserId.Count > 0) { tmpModel.ListUser.AddRange(LstUserId); var response = ConnectionToES.EsClient().Update( DocumentPath <ElasticModel> .Id(Type + "_" + ID.ToString()), u => u.Index(ElasticIndex).Type(ElasticModel).Doc(tmpModel) ); return(true); } return(false); } catch (Exception ex) { return(false); } } return(false); }
public static bool deleteDocument(string searchID, string Type) { if (EnableElasticServer.ToIntOrZero() == 1) { try { var response = ConnectionToES.EsClient().Delete <ElasticModel>(Type + "_" + searchID, d => d .Index(ElasticIndex) .Type(ElasticModel)); return(response.IsValid); } catch (Exception ex) { return(false); } } return(false); }
//public static bool insertDocumentBCA(ElasticBCAModel obj, string ID, string Type) //{ // try // { // var response = ConnectionToES.EsClient().Index(obj, i => i // .Index(ElasticIndex) // .Type(ElasticModel) // .Id(Type + "_" + ID) // .Refresh()); // return response.IsValid; // } // catch (Exception ex) // { // return false; // } //} //public static ISearchResponse<ElasticBCAModel> SmartSearchFileContent(string search) //{ // try // { // var response = ConnectionToES.EsClient().Search<ElasticBCAModel>(s => s.From(0).Size(5).Query( // q => q.MatchPhrase(m => m.Field(a => a.file.Content).Query(search)) // ).Highlight(h => h. // PreTags("<tag1>").PostTags("</tag1>").Encoder("html"). // Fields(f => f.Field(e => e.file.Content)) // ) // ); // return response; // } // catch // { // return new SearchResponse<ElasticBCAModel>(); // } //} #endregion #region Insert document with on ID public static bool insertDocument(ElasticModel obj, string ID, string Type) { if (EnableElasticServer.ToIntOrZero() == 1) { try { var response = ConnectionToES.EsClient().Index(obj, i => i .Index(ElasticIndex) .Type(ElasticModel) .Id(Type + "_" + ID) .Refresh()); return(response.IsValid); } catch (Exception ex) { return(false); } } return(false); }
public static bool updateDocument(ElasticModel obj, string ID, string Type) { if (EnableElasticServer.ToIntOrZero() == 1) { try { var response = ConnectionToES.EsClient().Update(DocumentPath <ElasticModel> .Id(Type + "_" + ID.ToString()), u => u.Index(ElasticIndex) .Type(ElasticModel) .Doc(obj) ); return(response.IsValid); } catch (Exception ex) { return(false); } } return(false); }
public static List <ElasticModel> SmartSearch(string search, long UserId) { try { // var result = ConnectionToES.EsClient().SearchAsync<ElasticModel>( //s => s.From(0).Take(10).Query( // q => (q.QueryString(qs => (qs.DefaultField("SoHieuNoSign").Query(search))) // || q.QueryString(qs => (qs.DefaultField("NoiDungNoSign").Query(search))) // || q.QueryString(qs => (qs.DefaultField("TrichYeuNoSign").Query(search))) // || q.QueryString(qs => (qs.DefaultField("NguoiKyNoSign").Query(search)))) // && // q.Match(x => x.Field(f => f.ListUser).Query(UserId.ToString())) // ) //).Result.Documents.ToList(); var result1 = ConnectionToES.EsClient().SearchAsync <ElasticModel>( s => s.From(0).Take(10).Query( q => q .MultiMatch(mm => mm .Fields(f => f .Field(ff => ff.SoHieuNoSign) .Field(ff => ff.NoiDungNoSign) .Field(ff => ff.NguoiKyNoSign) .Field(ff => ff.TrichYeuNoSign) ) //.Type(TextQueryType.PhrasePrefix) .Query(search) ) && q.Match(x => x.Field(f => f.ListUser).Query(UserId.ToString())) ) ).Result.Documents.ToList(); return(result1); } catch { return(new List <ElasticModel>()); } }