TermDocs.cs
上传用户:zhangkuixh
上传日期:2013-09-30
资源大小:5473k
文件大小:3k
源码类别:

搜索引擎

开发平台:

C#

  1. /*
  2.  * Copyright 2004 The Apache Software Foundation
  3.  * 
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  * 
  8.  * http://www.apache.org/licenses/LICENSE-2.0
  9.  * 
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16. using System;
  17. namespace Lucene.Net.Index
  18. {
  19. /// <summary>TermDocs provides an interface for enumerating &lt;document, frequency&gt;
  20. /// pairs for a term.  <p> The document portion names each document containing
  21. /// the term.  Documents are indicated by number.  The frequency portion gives
  22. /// the number of times the term occurred in each document.  <p> The pairs are
  23. /// ordered by document number.
  24. /// </summary>
  25. /// <seealso cref="IndexReader.TermDocs()">
  26. /// </seealso>
  27. public interface TermDocs
  28. {
  29. /// <summary>Sets this to the data for a term.
  30. /// The enumeration is reset to the start of the data for this term.
  31. /// </summary>
  32. void  Seek(Term term);
  33. /// <summary>Sets this to the data for the current term in a {@link TermEnum}.
  34. /// This may be optimized in some implementations.
  35. /// </summary>
  36. void  Seek(TermEnum termEnum);
  37. /// <summary>Returns the current document number.  <p> This is invalid until {@link
  38. /// #Next()} is called for the first time.
  39. /// </summary>
  40. int Doc();
  41. /// <summary>Returns the frequency of the term within the current document.  <p> This
  42. /// is invalid until {@link #Next()} is called for the first time.
  43. /// </summary>
  44. int Freq();
  45. /// <summary>Moves to the next pair in the enumeration.  <p> Returns true iff there is
  46. /// such a next pair in the enumeration. 
  47. /// </summary>
  48. bool Next();
  49. /// <summary>Attempts to read multiple entries from the enumeration, up to length of
  50. /// <i>docs</i>.  Document numbers are stored in <i>docs</i>, and term
  51. /// frequencies are stored in <i>freqs</i>.  The <i>freqs</i> array must be as
  52. /// long as the <i>docs</i> array.
  53. /// 
  54. /// <p>Returns the number of entries read.  Zero is only returned when the
  55. /// stream has been exhausted.  
  56. /// </summary>
  57. int Read(int[] docs, int[] freqs);
  58. /// <summary>Skips entries to the first beyond the current whose document number is
  59. /// greater than or equal to <i>target</i>. <p>Returns true iff there is such
  60. /// an entry.  <p>Behaves as if written: <pre>
  61. /// boolean skipTo(int target) {
  62. /// do {
  63. /// if (!next())
  64. /// return false;
  65. /// } while (target > doc());
  66. /// return true;
  67. /// }
  68. /// </pre>
  69. /// Some implementations are considerably more efficient than that.
  70. /// </summary>
  71. bool SkipTo(int target);
  72. /// <summary>Frees associated resources. </summary>
  73. void  Close();
  74. }
  75. }