示例#1
0
 /// <summary>Prints a user-readable version of this query. </summary>
 public override System.String ToString(System.String s)
 {
     System.Text.StringBuilder buffer = new System.Text.StringBuilder();
     buffer.Append("filtered(");
     buffer.Append(query.ToString(s));
     buffer.Append(")->");
     buffer.Append(filter);
     buffer.Append(ToStringUtils.Boost(GetBoost()));
     return(buffer.ToString());
 }
示例#2
0
        /// <summary>Prettyprint us.</summary>
        /// <param name="field">the field to which we are applied
        /// </param>
        /// <returns> a string that shows what we do, of the form "(disjunct1 | disjunct2 | ... | disjunctn)^boost"
        /// </returns>
        public override System.String ToString(System.String field)
        {
            System.Text.StringBuilder buffer = new System.Text.StringBuilder();
            buffer.Append("(");
            int numDisjunctions = disjuncts.Count;

            for (int i = 0; i < numDisjunctions; i++)
            {
                Query subquery = (Query)disjuncts[i];
                if (subquery is BooleanQuery)
                {
                    // wrap sub-bools in parens
                    buffer.Append("(");
                    buffer.Append(subquery.ToString(field));
                    buffer.Append(")");
                }
                else
                {
                    buffer.Append(subquery.ToString(field));
                }
                if (i != numDisjunctions - 1)
                {
                    buffer.Append(" | ");
                }
            }
            buffer.Append(")");
            if (tieBreakerMultiplier != 0.0f)
            {
                buffer.Append("~");
                buffer.Append(tieBreakerMultiplier);
            }
            if (GetBoost() != 1.0)
            {
                buffer.Append("^");
                buffer.Append(GetBoost());
            }
            return(buffer.ToString());
        }
示例#3
0
        /// <summary>Prints a user-readable version of this query. </summary>
        public override System.String ToString(System.String field)
        {
            System.Text.StringBuilder buffer = new System.Text.StringBuilder();
            bool needParens = (GetBoost() != 1.0) || (GetMinimumNumberShouldMatch() > 0);

            if (needParens)
            {
                buffer.Append("(");
            }

            for (int i = 0; i < clauses.Count; i++)
            {
                BooleanClause c = (BooleanClause)clauses[i];
                if (c.IsProhibited())
                {
                    buffer.Append("-");
                }
                else if (c.IsRequired())
                {
                    buffer.Append("+");
                }

                Query subQuery = c.GetQuery();
                if (subQuery != null)
                {
                    if (subQuery is BooleanQuery)
                    {
                        // wrap sub-bools in parens
                        buffer.Append("(");
                        buffer.Append(subQuery.ToString(field));
                        buffer.Append(")");
                    }
                    else
                    {
                        buffer.Append(subQuery.ToString(field));
                    }
                }
                else
                {
                    buffer.Append("null");
                }

                if (i != clauses.Count - 1)
                {
                    buffer.Append(" ");
                }
            }

            if (needParens)
            {
                buffer.Append(")");
            }

            if (GetMinimumNumberShouldMatch() > 0)
            {
                buffer.Append('~');
                buffer.Append(GetMinimumNumberShouldMatch());
            }

            if (GetBoost() != 1.0f)
            {
                buffer.Append(ToStringUtils.Boost(GetBoost()));
            }

            return(buffer.ToString());
        }
示例#4
0
 public override System.String ToString()
 {
     return(occur.ToString() + query.ToString());
 }