コード例 #1
0
        internal static Query GetPathQuery(string path, bool inTree)
        {
            if (path == null)
            {
                return(null);
            }

            SenseNet.Search.Indexing.FieldIndexHandler converter = null;
            string fieldName = null;

            if (inTree)
            {
                converter = new SenseNet.Search.Indexing.InTreeIndexHandler();
                fieldName = LucObject.FieldName.InTree;
            }
            else
            {
                converter = new SenseNet.Search.Indexing.InFolderIndexHandler();
                fieldName = LucObject.FieldName.InFolder;
            }

            var qvalue = new SenseNet.Search.Parser.QueryFieldValue(path);

            converter.ConvertToTermValue(qvalue);
            return(new TermQuery(new Term(fieldName, qvalue.StringValue)));
        }
コード例 #2
0
 public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
 {
     // Set the parsed value.
     value.Set(value.StringValue.ToLower());
     // Successful.
     return(true);
 }
コード例 #3
0
        public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
        {
            Int32 intValue = 0;

            Int32.TryParse(value.StringValue, out intValue); // if input is wrong, parsed value will be 0 (null reference)
            value.Set(intValue.ToString());
            return(true);
        }
コード例 #4
0
 public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
 {
     value.Set(value.StringValue.ToLower());
     if (value.StringValue.StartsWith("/root"))
     {
         return(true);
     }
     return(false);
 }
コード例 #5
0
        public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
        {
            DateTime dateTimeValue;

            if (!DateTime.TryParse(value.StringValue, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeValue))
            {
                return(false);
            }
            value.Set(dateTimeValue.Ticks);
            return(true);
        }
コード例 #6
0
        public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
        {
            Double doubleValue;

            if (!Double.TryParse(value.StringValue, System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.CultureInfo.InvariantCulture, out doubleValue))
            {
                return(false);
            }
            value.Set(doubleValue);
            return(true);
        }
コード例 #7
0
        public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
        {
            Int32 intValue;

            if (!Int32.TryParse(value.StringValue, out intValue))
            {
                return(false);
            }
            value.Set(intValue);
            return(true);
        }
コード例 #8
0
ファイル: IndexingTests.cs プロジェクト: pchaozhong/FlexNet
            public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
            {
                var v = value.StringValue.ToLower();

                if (v.StartsWith("#"))
                {
                    return(true);
                }
                switch (v)
                {
                case "red": value.Set("#ff0000"); return(true);

                case "green": value.Set("#00ff00"); return(true);

                case "blue": value.Set("#0000ff"); return(true);

                default: return(false);
                }
            }
コード例 #9
0
        public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
        {
            var v = value.StringValue.ToLower();

            if (YesList.Contains(v))
            {
                value.Set(YES);
                return(true);
            }
            if (NoList.Contains(v))
            {
                value.Set(NO);
                return(true);
            }
            bool b;

            if (Boolean.TryParse(v, out b))
            {
                value.Set(b ? YES : NO);
                return(true);
            }
            return(false);
        }
コード例 #10
0
 public override void ConvertToTermValue(SenseNet.Search.Parser.QueryFieldValue value)
 {
     throw new NotImplementedException();
 }
コード例 #11
0
 public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
 {
     value.Set(value.StringValue.ToLower());
     return(true);
 }
コード例 #12
0
 public override bool TryParseAndSet(SenseNet.Search.Parser.QueryFieldValue value)
 {
     return(false);
 }