public void Execute_ScriptQuery() { var query = new ScriptQuery("A", "Entity.CustomerContactsInsert"); try { var actual = client.Execute(query).ToString(); Assert.True(actual != null, query.Query); Assert.True(actual.Contains("CustomerContactsInsert"), $"The script {actual}."); } catch (System.Data.SqlClient.SqlException e) { Assert.True(false, e.Message + query.Query); } }
private static void addChild(ScriptQuery script, DataRow dr, string flagID, string flagParentID, string condition, List <object> lists, string sortFieldName, DevNet.Common.ScriptQuery.SortEnum sortEnum) { script.Select().Select(flagID).From().Where(flagParentID, dr[flagID]); if (!string.IsNullOrEmpty(condition)) { script.AddSqlText(" and " + condition); } DataTable dt = script.AddOrderBy().OrderBy(sortFieldName, sortEnum). GetDataTable(); foreach (DataRow ddr in dt.Rows) { lists.Add(ddr[flagID]); addChild(script, ddr, flagID, flagParentID, condition, lists, sortFieldName, sortEnum); } }
public static void ReScore(IElasticClient client) { var rescore = new RescoringDescriptor <ProductListEsIndexModelExample>(); var query = new QueryContainer() && new MatchAllQuery(); var function_query = new FunctionScoreQuery() { Query = new MatchAllQuery(), ScoreMode = FunctionScoreMode.Average, Functions = new List <IScoreFunction>() { new GaussDateDecayFunction() { }, new ScriptScoreFunction() { } } }; var script_query = new ScriptQuery() { }; var script_query_ = new ScriptScoreFunction() { }; rescore = rescore.Rescore(x => x.RescoreQuery(d => d.Query(q => query) .QueryWeight(0.5) .RescoreQueryWeight(0.5) .ScoreMode(ScoreMode.Average)).WindowSize(10)) .Rescore(x => x.RescoreQuery(d => d.Query(q => function_query) .QueryWeight(0.5) .RescoreQueryWeight(0.5) .ScoreMode(ScoreMode.Average)).WindowSize(10)); //use rescore var sd = new SearchDescriptor <ProductListEsIndexModelExample>(); sd = sd.Rescore(x => rescore).Source(false); }
/// <summary> /// 返回递归后的编号数组,该数组内包含指定参数编号及所有子类别的编号,异常则返回只包含指定参数的数组 /// </summary> /// <param name="dbCon">数据连接对象</param> /// <param name="tableName">数据表名</param> /// <param name="flagID">标记ID的字段名称,</param> /// <param name="flagIDValue">标记ID的值</param> /// <param name="flagParentID">父标记字段名称</param> /// <param name="condtion">条件(譬如:isdel=0 and nety_ischeck=1)可以为空</param> /// <param name="sortFieldName">排序字段</param> /// <param name="sortEnum">排序枚举</param> /// <returns></returns> public static object[] GetRecurArray(DBConnect dbCon, string tableName, string flagID, object flagIDValue, string flagParentID, string condtion, string sortFieldName, DevNet.Common.ScriptQuery.SortEnum sortEnum) { List <object> lists = new List <object>(); lists.Add(flagIDValue); bool needOpen = (dbCon.ConnState != ConnectionState.Open); try { if (needOpen) { dbCon.OpenConn(); } ScriptQuery script = new ScriptQuery(dbCon, tableName); script.Select().Select(flagID).From().Where(flagParentID, flagIDValue); if (!string.IsNullOrEmpty(condtion)) { script.AddSqlText(" and " + condtion); } DataTable dt = script.AddOrderBy().OrderBy(sortFieldName, sortEnum).GetDataTable(); foreach (DataRow dr in dt.Rows) { lists.Add(dr[flagID]); addChild(script, dr, flagID, flagParentID, condtion, lists, sortFieldName, sortEnum); } } catch (Exception ex) { Log.Error(ex.Message, ex); lists.Clear(); lists.Add(flagIDValue); } finally { if (needOpen) { dbCon.CloseConn(); } } return(lists.ToArray()); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var r = new ScriptQuery(); JObject o = JObject.Load(reader); var properties = o.Properties().ToListOrNullIfEmpty(); var scriptProperty = properties.FirstOrDefault(p => p.Name == "script"); if (scriptProperty != null) properties.AddRange(scriptProperty.Value.Value<JObject>().Properties()); foreach (var p in properties) { switch (p.Name) { case "_name": r.Name = p.Value.Value<string>(); break; case "boost": r.Boost = p.Value.Value<double>(); break; case "id": r.Id = p.Value.Value<string>(); break; case "file": r.File = p.Value.Value<string>(); break; case "inline": r.Inline = p.Value.Value<string>(); break; case "lang": r.Lang = p.Value.Value<string>(); break; case "params": r.Params = p.Value.ToObject<Dictionary<string, object>>(); break; } } return r; }
private bool EmptyScript(ScriptQuery scriptQuery) { return(string.IsNullOrWhiteSpace(scriptQuery?.PowerShellScript)); }