コード例 #1
0
        public static QueryContainer MakeRangeQuery(string type, string gte, string lte,
                                                    string field, double boost = 1)
        {
            QueryContainer rangeQuery = null;

            if (type.ToLower() == "long")
            {
                rangeQuery = new LongRangeQuery()
                {
                    Field       = field,
                    LessThan    = long.Parse(lte),
                    GreaterThan = long.Parse(gte),
                    Boost       = boost
                };
            }
            else if (type.ToLower() == "date")
            {
                rangeQuery = new DateRangeQuery()
                {
                    Field       = field,
                    LessThan    = DateMath.FromString(lte),
                    GreaterThan = DateMath.FromString(gte),
                    Boost       = boost
                };
            }
            else if (type.ToLower() == "term")
            {
                rangeQuery = new TermRangeQuery()
                {
                    Field       = field,
                    LessThan    = lte,
                    GreaterThan = gte,
                    Boost       = boost
                };
            }
            else if (type.ToLower() == "numeric")
            {
                rangeQuery = new TermRangeQuery()
                {
                    Field       = field,
                    LessThan    = lte,
                    GreaterThan = gte,
                    Boost       = boost
                };
            }

            return(rangeQuery);
        }
コード例 #2
0
 /// <summary>
 /// 设置小于操作
 /// </summary>
 /// <param name="condition">查询条件</param>
 /// <param name="max">最大值</param>
 protected override void SetLess(LongRangeQuery condition, long?max) => condition.LessThan = max;
コード例 #3
0
 /// <summary>
 /// 设置大于操作
 /// </summary>
 /// <param name="condition">查询条件</param>
 /// <param name="min">最小值</param>
 protected override void SetGreater(LongRangeQuery condition, long?min) => condition.GreaterThan = min;
コード例 #4
0
 /// <summary>
 /// 设置小于等于操作
 /// </summary>
 /// <param name="condition">查询条件</param>
 /// <param name="max">最大值</param>
 protected override void SetLessEqual(LongRangeQuery condition, long?max) => condition.LessThanOrEqualTo = max;
コード例 #5
0
 /// <summary>
 /// 设置字段
 /// </summary>
 /// <param name="condition">查询条件</param>
 /// <param name="field">字段</param>
 protected override void SetField(LongRangeQuery condition, Field field) => condition.Field = field;