lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From o...@apache.org
Subject cvs commit: jakarta-lucene/src/java/org/apache/lucene/search FieldDoc.java Sort.java SortField.java
Date Tue, 02 Mar 2004 14:54:55 GMT
otis        2004/03/02 06:54:55

  Modified:    src/java/org/apache/lucene/search FieldDoc.java Sort.java
                        SortField.java
  Log:
  - Applied patch for bug 26702, attachment 10637
  
  Revision  Changes    Path
  1.3       +21 -10    jakarta-lucene/src/java/org/apache/lucene/search/FieldDoc.java
  
  Index: FieldDoc.java
  ===================================================================
  RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/FieldDoc.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FieldDoc.java	27 Feb 2004 12:29:31 -0000	1.2
  +++ FieldDoc.java	2 Mar 2004 14:54:55 -0000	1.3
  @@ -19,34 +19,45 @@
   
   /**
    * Expert: A ScoreDoc which also contains information about
  - * how to sort the referenced document.
  + * how to sort the referenced document.  In addition to the
  + * document number and score, this object contains an array
  + * of values for the document from the field(s) used to sort.
  + * For example, if the sort criteria was to sort by fields
  + * "a", "b" then "c", the <code>fields</code> object array
  + * will have three elements, corresponding respectively to
  + * the term values for the document in fields "a", "b" and "c".
  + * The class of each element in the array will be either
  + * Integer, Float or String depending on the type of values
  + * in the terms of each field.
  + *
  + * <p>Created: Feb 11, 2004 1:23:38 PM
    *
  - * <p>Created: Feb 11, 2004 1:23:38 PM 
  - * 
    * @author  Tim Jones (Nacimiento Software)
    * @since   lucene 1.4
    * @version $Id$
  + * @see ScoreDoc
    * @see TopFieldDocs
    */
   public class FieldDoc
   extends ScoreDoc {
   
  -	/** The values which are used to sort the referenced document.
  -	 * The order of these will match the original sort criteria given by an
  -	 * Sort object.
  +	/** Expert: The values which are used to sort the referenced document.
  +	 * The order of these will match the original sort criteria given by a
  +	 * Sort object.  Each Object will be either an Integer, Float or String,
  +	 * depending on the type of values in the terms of the original field.
   	 * @see Sort
   	 * @see Searchable#search(Query,Filter,int,Sort)
   	 */
   	public Object[] fields;
   
  -	/** Creates one of these objects with empty sort information. */
  +	/** Expert: Creates one of these objects with empty sort information. */
   	public FieldDoc (int doc, float score) {
   		super (doc, score);
   	}
   
  -	/** Creates one of these objects with the given sort information. */
  +	/** Expert: Creates one of these objects with the given sort information. */
   	public FieldDoc (int doc, float score, Object[] fields) {
   		super (doc, score);
   		this.fields = fields;
   	}
  -}
  +}
  \ No newline at end of file
  
  
  
  1.4       +40 -10    jakarta-lucene/src/java/org/apache/lucene/search/Sort.java
  
  Index: Sort.java
  ===================================================================
  RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/Sort.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Sort.java	25 Feb 2004 22:17:41 -0000	1.3
  +++ Sort.java	2 Mar 2004 14:54:55 -0000	1.4
  @@ -69,8 +69,28 @@
    *
    * <p><h3>Memory Usage</h3>
    *
  - * See {@link FieldSortedHitQueue FieldSortedHitQueue} for
  - * information on the memory requirements of sorting hits.
  + * <p>Sorting uses of caches of term values maintained by the
  + * internal HitQueue(s).  The cache is static and contains an integer
  + * or float array of length <code>IndexReader.maxDoc()</code> for each field
  + * name for which a sort is performed.  In other words, the size of the
  + * cache in bytes is:
  + *
  + * <p><code>4 * IndexReader.maxDoc() * (# of different fields actually used
to sort)</code>
  + *
  + * <p>For String fields, the cache is larger: in addition to the
  + * above array, the value of every term in the field is kept in memory.
  + * If there are many unique terms in the field, this could
  + * be quite large.
  + *
  + * <p>Note that the size of the cache is not affected by how many
  + * fields are in the index and <i>might</i> be used to sort - only by
  + * the ones actually used to sort a result set.
  + *
  + * <p>The cache is cleared each time a new <code>IndexReader</code> is
  + * passed in, or if the value returned by <code>maxDoc()</code>
  + * changes for the current IndexReader.  This class is not set up to
  + * be able to efficiently sort hits from more than one index
  + * simultaneously.
    *
    * <p>Created: Feb 12, 2004 10:53:57 AM
    *
  @@ -82,9 +102,9 @@
   implements Serializable {
   
   	/** Represents sorting by computed relevance. Using this sort criteria
  -	 * returns the same results with slightly more overhead as calling
  -	 * Searcher#search() without a sort criteria. */
  -	public static final Sort RELEVANCE = new Sort ();
  +	 * returns the same results as calling {@link Searcher#search(Query) Searcher#search()}
  +	 * without a sort criteria, only with slightly more overhead. */
  +	public static final Sort RELEVANCE = new Sort();
   
   	/** Represents sorting by index order. */
   	public static final Sort INDEXORDER = new Sort (SortField.FIELD_DOC);
  @@ -94,7 +114,7 @@
   
   
   	/** Sorts by computed relevance.  This is the same sort criteria as
  -	 * calling Searcher#search() without a sort criteria, only with
  +	 * calling {@link Searcher#search(Query) Searcher#search()} without a sort criteria, only
with
   	 * slightly more overhead. */
   	public Sort() {
   		this (new SortField[]{SortField.FIELD_SCORE, SortField.FIELD_DOC});
  @@ -102,20 +122,30 @@
   
   
   	/** Sorts by the terms in <code>field</code> then by index order (document
  -	 * number). */
  +	 * number). The type of value in <code>field</code> is determined
  +	 * automatically.
  +	 * @see SortField#AUTO
  +	 */
   	public Sort (String field) {
   		setSort (field, false);
   	}
   
   
   	/** Sorts possibly in reverse by the terms in <code>field</code> then by
  -	 * index order (document number). */
  +	 * index order (document number). The type of value in <code>field</code>
is determined
  +	 * automatically.
  +	 * @see SortField#AUTO
  +	 */
   	public Sort (String field, boolean reverse) {
   		setSort (field, reverse);
   	}
   
   
  -	/** Sorts in succession by the terms in each field. */
  +	/** Sorts in succession by the terms in each field.
  +	 * The type of value in <code>field</code> is determined
  +	 * automatically.
  +	 * @see SortField#AUTO
  +	 */
   	public Sort (String[] fields) {
   		setSort (fields);
   	}
  
  
  
  1.3       +2 -1      jakarta-lucene/src/java/org/apache/lucene/search/SortField.java
  
  Index: SortField.java
  ===================================================================
  RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/SortField.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SortField.java	24 Feb 2004 19:34:58 -0000	1.2
  +++ SortField.java	2 Mar 2004 14:54:55 -0000	1.3
  @@ -27,6 +27,7 @@
    * @author  Tim Jones (Nacimiento Software)
    * @since   lucene 1.4
    * @version $Id$
  + * @see Sort
    */
   public class SortField
   implements Serializable {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Mime
View raw message