Example #1
0
 public DecayScoreFunction(DecayFunction function, string field, string origin, string scale, string offset = null, double decay = 0)
 {
     Function = function;
     Field    = field;
     Origin   = origin;
     Scale    = scale;
     Offset   = offset;
     Decay    = decay;
 }
Example #2
0
        private static DecayScoreFunction ParseDecayScoreFunction(DecayFunction function, JsonObject jo)
        {
            var jp    = jo.Properties()[0];
            var value = jp.Value.Get <JsonObject>();

            if (value == null)
            {
                return(null);
            }

            string origin = null;
            string scale  = null;
            string offset = null;
            double decay  = 0;

            foreach (var p in value.Properties())
            {
                switch (p.Name)
                {
                case "origin": origin = p.Value.Get <string>(); break;

                case "scale": scale = p.Value.Get <string>(); break;

                case "offset": offset = p.Value.Get <string>(); break;

                case "decay": decay = p.Value.Get <double>(); break;
                }
            }

            if (string.IsNullOrWhiteSpace(origin) || string.IsNullOrWhiteSpace(scale))
            {
                return(null);
            }

            return(new DecayScoreFunction(function, jp.Name, origin, scale, offset, decay));
        }