Lucene.Net.Search.PhraseQuery.ToString C# (CSharp) Method

ToString() public method

Prints a user-readable version of this query.
public ToString ( System f ) : System.String
f System
return System.String
		public override System.String ToString(System.String f)
		{
			System.Text.StringBuilder buffer = new System.Text.StringBuilder();
			if (field != null && !field.Equals(f))
			{
				buffer.Append(field);
				buffer.Append(":");
			}
			
			buffer.Append("\"");
			System.String[] pieces = new System.String[maxPosition + 1];
			for (int i = 0; i < terms.Count; i++)
			{
				int pos = positions[i];
				System.String s = pieces[pos];
				if (s == null)
				{
					s = terms[i].Text;
				}
				else
				{
					s = s + "|" + terms[i].Text;
				}
				pieces[pos] = s;
			}
			for (int i = 0; i < pieces.Length; i++)
			{
				if (i > 0)
				{
					buffer.Append(' ');
				}
				System.String s = pieces[i];
				if (s == null)
				{
					buffer.Append('?');
				}
				else
				{
					buffer.Append(s);
				}
			}
			buffer.Append("\"");
			
			if (slop != 0)
			{
				buffer.Append("~");
				buffer.Append(slop);
			}
			
			buffer.Append(ToStringUtils.Boost(Boost));
			
			return buffer.ToString();
		}
		

Usage Example

        public virtual void TestToString()
        {
            PhraseQuery q = new PhraseQuery(); // Query "this hi this is a test is"

            q.Add(new Term("field", "hi"), 1);
            q.Add(new Term("field", "test"), 5);

            Assert.AreEqual(q.ToString(), "field:\"? hi ? ? ? test\"");
            q.Add(new Term("field", "hello"), 1);
            Assert.AreEqual(q.ToString(), "field:\"? hi|hello ? ? ? test\"");
        }
All Usage Examples Of Lucene.Net.Search.PhraseQuery::ToString