Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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;
		}
Пример #6
0
 private bool EmptyScript(ScriptQuery scriptQuery)
 {
     return(string.IsNullOrWhiteSpace(scriptQuery?.PowerShellScript));
 }