cutting     2004/03/30 12:33:25

  Modified:    src/java/org/apache/lucene/search/spans package.html
  Log:
  Improved javadoc for span queries.
  
  Revision  Changes    Path
  1.2       +69 -0     
jakarta-lucene/src/java/org/apache/lucene/search/spans/package.html
  
  Index: package.html
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/spans/package.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- package.html      30 Jan 2004 22:10:00 -0000      1.1
  +++ package.html      30 Mar 2004 20:33:25 -0000      1.2
  @@ -3,5 +3,74 @@
   <head></head>
   <body>
   The calculus of spans.
  +
  +<p>A span is a <code>&lt;doc,startPosition,endPosition&gt;</code> tuple.</p>
  +
  +<p>The following span query operators are implemented:
  +
  +<ul>
  +
  +<li>A <a href="SpanTermQuery.html">SpanTermQuery</a> matches all spans
  +containing a particular <a href="../../index/Term.html">Term</a>.</li>
  +
  +<li> A <a href="SpanNearQuery.html">SpanNearQuery</a> matches spans
  +which occur near one another, and can be used to implement things like
  +phrase search (when constructed from <a
  +href="SpanTermQuery.html">SpanTermQueries</a> and inter-phrase
  +proximity (when constructed from other <a
  +href="SpanNearQuery.html">SpanNearQueries</a>.</li>
  +
  +<li>A <a href="SpanOrQuery.html">SpanOrQuery</a> merges spans from a
  +number of other <a href="SpanQuery.html">SpanQueries</a>.</li>
  +
  +<li>A <a href="SpanNotQuery.html">SpanNotQuery</a> removes spans
  +matching one <a href="SpanQuery.html">SpanQuery</a> which overlap
  +another.  This can be used, e.g., to implement within-paragraph
  +search.</li>
  +
  +<li>A <a href="SpanFirstQuery.html">SpanFirstQuery</a> matches spans
  +matching <code>q</code> whose end position is less than
  +<code>n</code>.  This can be used to constrain matches to the first
  +part of the document.</li>
  +
  +</ul>
  +
  +In all cases, output spans are minimally inclusive.  In other words, a
  +span formed by matching a span in x and y starts at the lesser of the
  +two starts and ends at the greater of the two ends.
  +</p>
  +
  +<p>For example, a span query which matches "John Kerry" within ten
  +words of "George Bush" within the first 100 words of the document
  +could be constructed with:
  +<pre>
  +SpanQuery john   = new SpanTermQuery(new Term("content", "john"));
  +SpanQuery kerry  = new SpanTermQuery(new Term("content", "kerry"));
  +SpanQuery george = new SpanTermQuery(new Term("content", "george"));
  +SpanQuery bush   = new SpanTermQuery(new Term("content", "bush"));
  +
  +SpanQuery johnKerry =
  +   new SpanNearQuery(new SpanQuery[] {john, kerry}, 0, true);
  +
  +SpanQuery georgeBush =
  +   new SpanNearQuery(new SpanQuery[] {george, bush}, 0, true);
  +
  +SpanQuery johnKerryNearGeorgeBush =
  +   new SpanNearQuery(new SpanQuery[] {johnKerry, georgeBush}, 10, false);
  +
  +SpanQuery johnKerryNearGeorgeBushAtStart =
  +   new SpanFirstQuery(johnKerryNearGeorgeBush, 100);
  +</pre>
  +
  +<p>Span queries may be freely intermixed with other Lucene queries.
  +So, for example, the above query can be restricted to documents which
  +also use the word "iraq" with:
  +
  +<pre>
  +Query query = new BooleanQuery();
  +query.add(johnKerryNearGeorgeBushAtStart, true, false);
  +query.add(new TermQuery("content", "iraq"), true, false);
  +</pre>
  +
   </body>
   </html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to