示例#1
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            if (GetChild() == null)
                return "";

            return "( " + GetChild().ToQueryString(escapeSyntaxParser) + " )";
        }
示例#2
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            if (GetChild() == null)
                return "";

            string leftParenthensis = "";
            string rightParenthensis = "";

            if (GetChild() != null && GetChild() is ModifierQueryNode)
            {
                leftParenthensis = "(";
                rightParenthensis = ")";
            }

            if (GetChild() is BooleanQueryNode)
            {
                return this.modifier.ToLargeString() + leftParenthensis
                    + GetChild().ToQueryString(escapeSyntaxParser) + rightParenthensis;
            }
            else
            {
                return this.modifier.ToDigitString() + leftParenthensis
                    + GetChild().ToQueryString(escapeSyntaxParser) + rightParenthensis;
            }
        }
示例#3
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.field))
     {
         return "\"" + GetTermEscapeQuoted(escaper) + "\"";
     }
     else
     {
         return this.field + ":" + "\"" + GetTermEscapeQuoted(escaper) + "\"";
     }
 }
示例#4
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     if (IsDefaultField(this.field))
     {
         return(GetTermEscaped(escapeSyntaxParser));
     }
     else
     {
         return(this.field + ":" + GetTermEscaped(escapeSyntaxParser));
     }
 }
示例#5
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.field))
     {
         return this.text.ToString();
     }
     else
     {
         return this.field + ":" + this.text;
     }
 }
示例#6
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.m_field))
     {
         return(this.m_text.ToString());
     }
     else
     {
         return(this.m_field + ":" + this.m_text);
     }
 }
示例#7
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.field))
     {
         return(GetTermEscaped(escaper) + "~" + this.similarity);
     }
     else
     {
         return(this.field + ":" + GetTermEscaped(escaper) + "~" + this.similarity);
     }
 }
示例#8
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.field))
     {
         return("\"" + GetTermEscapeQuoted(escaper) + "\"");
     }
     else
     {
         return(this.field + ":" + "\"" + GetTermEscapeQuoted(escaper) + "\"");
     }
 }
示例#9
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     if (IsDefaultField(this.field))
     {
         return GetTermEscaped(escaper) + "~" + this.similarity;
     }
     else
     {
         return this.field + ":" + GetTermEscaped(escaper) + "~" + this.similarity;
     }
 }
示例#10
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            string withinSTR = this.proximityType.ToQueryString()
                               + ((this.distance == -1) ? ("") : (" " + this.distance))
                               + ((this.inorder) ? (" INORDER") : (""));

            StringBuilder sb       = new StringBuilder();
            var           children = GetChildren();

            if (children is null || children.Count == 0)
            {
                // no children case
            }
示例#11
0
        public override string ToQueryString(IEscapeQuerySyntax escaper)
        {
            StringBuilder path = new StringBuilder();

            path.Append("/").Append(GetFirstPathElement());

            foreach (QueryText pathelement in GetPathElements(1))
            {
                string value = escaper.Escape(new StringCharSequenceWrapper(pathelement.Value),
                                              CultureInfo.InvariantCulture, EscapeQuerySyntaxType.STRING).ToString();
                path.Append("/\"").Append(value).Append("\"");
            }
            return(path.ToString());
        }
示例#12
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            var children = GetChildren();
            if (children == null || children.Count == 0)
                return "";

            StringBuilder sb = new StringBuilder();
            string filler = "";
            foreach (IQueryNode child in children)
            {
                sb.Append(filler).Append(child.ToQueryString(escapeSyntaxParser));
                filler = ",";
            }

            return "[MTP[" + sb.ToString() + "]]";
        }
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            StringBuilder sb = new StringBuilder();

            T lower = (T)LowerBound;
            T upper = (T)UpperBound;

            if (lowerInclusive)
            {
                sb.Append('[');
            }
            else
            {
                sb.Append('{');
            }

            if (lower != null)
            {
                sb.Append(lower.ToQueryString(escapeSyntaxParser));
            }
            else
            {
                sb.Append("...");
            }

            sb.Append(' ');

            if (upper != null)
            {
                sb.Append(upper.ToQueryString(escapeSyntaxParser));
            }
            else
            {
                sb.Append("...");
            }

            if (upperInclusive)
            {
                sb.Append(']');
            }
            else
            {
                sb.Append('}');
            }

            return(sb.ToString());
        }
        // This text representation is not re-parseable
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            var children = GetChildren();

            if (children == null || children.Count == 0)
            {
                return("");
            }

            StringBuilder sb     = new StringBuilder();
            string        filler = "";

            foreach (IQueryNode child in children)
            {
                sb.Append(filler).Append(child.ToQueryString(escapeSyntaxParser));
                filler = ",";
            }

            return("[TP[" + sb.ToString() + "]]");
        }
示例#15
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            var children = GetChildren();
            if (children == null || children.Count == 0)
                return "";

            StringBuilder sb = new StringBuilder();
            string filler = "";
            for (IEnumerator<IQueryNode> it = children.GetEnumerator(); it.MoveNext();)
            {
                sb.Append(filler).Append(it.Current.ToQueryString(escapeSyntaxParser));
                filler = " OR ";
            }

            // in case is root or the parent is a group node avoid parenthesis
            if ((Parent != null && Parent is GroupQueryNode)
                || IsRoot)
                return sb.ToString();
            else
                return "( " + sb.ToString() + " )";
        }
示例#16
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            var children = GetChildren();
            if (children == null || children.Count == 0)
                return "";

            StringBuilder sb = new StringBuilder();
            string filler = "";
            foreach (IQueryNode child in children)
            {
                sb.Append(filler).Append(child.ToQueryString(escapeSyntaxParser));
                filler = " ";
            }

            // in case is root or the parent is a group node avoid parenthesis
            if ((Parent != null && Parent is GroupQueryNode)
                || IsRoot)
                return sb.ToString();
            else
                return "( " + sb.ToString() + " )";
        }
示例#17
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     if (Child == null)
         return "";
     return Child.ToQueryString(escapeSyntaxParser) + "^"
         + GetValueString();
 }
示例#18
0
 /// <summary>
 /// This method is used to get the value converted to <see cref="string"/> and
 /// escaped using the given <see cref="IEscapeQuerySyntax"/>.
 /// </summary>
 /// <param name="escaper">The <see cref="IEscapeQuerySyntax"/> used to escape the value <see cref="string"/></param>
 /// <returns>The value converted to <see cref="string"/> and escaped</returns>
 protected string GetTermEscaped(IEscapeQuerySyntax escaper)
 {
     return(escaper.Escape(numberFormat.Format(this.value),
                           CultureInfo.CurrentCulture, EscapeQuerySyntaxType.NORMAL));
 }
示例#19
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     return "[DELETEDCHILD]";
 }
示例#20
0
 // LUCENENET specific - class must implement all members of IQueryNode
 public abstract string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser);
示例#21
0
 // LUCENENET specific - class must implement all members of IQueryNode
 public abstract string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser);
示例#22
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     return "[NTF]";
 }
示例#23
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return "@" + this.schema + ":'" + this.value + "'";
 }
示例#24
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     return("[NTF]");
 }
示例#25
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return "*:*";
 }
示例#26
0
 public override string ToQueryString(IEscapeQuerySyntax escaper)
 {
     return("[DELETEDCHILD]");
 }
示例#27
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return("DummyQueryNode");
 }
示例#28
0
 protected virtual string GetTermEscapeQuoted(IEscapeQuerySyntax escaper)
 {
     return(escaper.Escape(this.text, CultureInfo.InvariantCulture /*Locale.getDefault()*/, EscapeQuerySyntax.Type.STRING).ToString());
 }
示例#29
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return("@" + this.schema + ":'" + this.value + "'");
 }
示例#30
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return("*:*");
 }
示例#31
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            string anySTR = "ANY " + this.minimumMatchingmElements;

            StringBuilder sb = new StringBuilder();
            var children = GetChildren();
            if (children == null || children.Count == 0)
            {
                // no childs case
            }
            else
            {
                string filler = "";
                foreach (IQueryNode clause in children)
                {
                    sb.Append(filler).Append(clause.ToQueryString(escapeSyntaxParser));
                    filler = " ";
                }
            }

            if (IsDefaultField(this.field))
            {
                return "( " + sb.ToString() + " ) " + anySTR;
            }
            else
            {
                return this.field + ":(( " + sb.ToString() + " ) " + anySTR + ")";
            }
        }
示例#32
0
 public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
 {
     return(IsDefaultField(field) ? "/" + text + "/" : field + ":/" + text + "/");
 }
示例#33
0
        public override string ToQueryString(IEscapeQuerySyntax escapeSyntaxParser)
        {
            string withinSTR = this.proximityType.ToQueryString()
                + ((this.distance == -1) ? ("") : (" " + this.distance))
                + ((this.inorder) ? (" INORDER") : (""));

            StringBuilder sb = new StringBuilder();
            var children = GetChildren();
            if (children == null || children.Count == 0)
            {
                // no children case
            }
            else
            {
                string filler = "";
                foreach (IQueryNode child in children)
                {
                    sb.Append(filler).Append(child.ToQueryString(escapeSyntaxParser));
                    filler = " ";
                }
            }

            if (IsDefaultField(this.field))
            {
                return "( " + sb.ToString() + " ) " + withinSTR;
            }
            else
            {
                return this.field + ":(( " + sb.ToString() + " ) " + withinSTR + ")";
            }
        }