⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 field.java

📁 lucene-2.4.0 是一个全文收索的工具包
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   * be saved in the index. Term vectors will not be stored in the index.   *    * @param name The name of the field   * @param value The string to process   * @param store Whether <code>value</code> should be stored in the index   * @param index Whether the field should be indexed, and if so, if it should   *  be tokenized before indexing    * @throws NullPointerException if name or value is <code>null</code>   * @throws IllegalArgumentException if the field is neither stored nor indexed    */  public Field(String name, String value, Store store, Index index) {    this(name, value, store, index, TermVector.NO);  }    /**   * Create a field by specifying its name, value and how it will   * be saved in the index.   *    * @param name The name of the field   * @param value The string to process   * @param store Whether <code>value</code> should be stored in the index   * @param index Whether the field should be indexed, and if so, if it should   *  be tokenized before indexing    * @param termVector Whether term vector should be stored   * @throws NullPointerException if name or value is <code>null</code>   * @throws IllegalArgumentException in any of the following situations:   * <ul>    *  <li>the field is neither stored nor indexed</li>    *  <li>the field is not indexed but termVector is <code>TermVector.YES</code></li>   * </ul>    */   public Field(String name, String value, Store store, Index index, TermVector termVector) {    if (name == null)      throw new NullPointerException("name cannot be null");    if (value == null)      throw new NullPointerException("value cannot be null");    if (name.length() == 0 && value.length() == 0)      throw new IllegalArgumentException("name and value cannot both be empty");    if (index == Index.NO && store == Store.NO)      throw new IllegalArgumentException("it doesn't make sense to have a field that "         + "is neither indexed nor stored");    if (index == Index.NO && termVector != TermVector.NO)      throw new IllegalArgumentException("cannot store term vector information "         + "for a field that is not indexed");              this.name = name.intern();        // field names are interned    this.fieldsData = value;    if (store == Store.YES){      this.isStored = true;      this.isCompressed = false;    }    else if (store == Store.COMPRESS) {      this.isStored = true;      this.isCompressed = true;    }    else if (store == Store.NO){      this.isStored = false;      this.isCompressed = false;    }    else      throw new IllegalArgumentException("unknown store parameter " + store);       if (index == Index.NO) {      this.isIndexed = false;      this.isTokenized = false;    } else if (index == Index.ANALYZED) {      this.isIndexed = true;      this.isTokenized = true;    } else if (index == Index.NOT_ANALYZED) {      this.isIndexed = true;      this.isTokenized = false;    } else if (index == Index.NOT_ANALYZED_NO_NORMS) {      this.isIndexed = true;      this.isTokenized = false;      this.omitNorms = true;    } else if (index == Index.ANALYZED_NO_NORMS) {      this.isIndexed = true;      this.isTokenized = true;      this.omitNorms = true;    } else {      throw new IllegalArgumentException("unknown index parameter " + index);    }        this.isBinary = false;    setStoreTermVector(termVector);  }  /**   * Create a tokenized and indexed field that is not stored. Term vectors will   * not be stored.  The Reader is read only when the Document is added to the index,   * i.e. you may not close the Reader until {@link IndexWriter#addDocument(Document)}   * has been called.   *    * @param name The name of the field   * @param reader The reader with the content   * @throws NullPointerException if name or reader is <code>null</code>   */  public Field(String name, Reader reader) {    this(name, reader, TermVector.NO);  }  /**   * Create a tokenized and indexed field that is not stored, optionally with    * storing term vectors.  The Reader is read only when the Document is added to the index,   * i.e. you may not close the Reader until {@link IndexWriter#addDocument(Document)}   * has been called.   *    * @param name The name of the field   * @param reader The reader with the content   * @param termVector Whether term vector should be stored   * @throws NullPointerException if name or reader is <code>null</code>   */   public Field(String name, Reader reader, TermVector termVector) {    if (name == null)      throw new NullPointerException("name cannot be null");    if (reader == null)      throw new NullPointerException("reader cannot be null");        this.name = name.intern();        // field names are interned    this.fieldsData = reader;        this.isStored = false;    this.isCompressed = false;        this.isIndexed = true;    this.isTokenized = true;        this.isBinary = false;        setStoreTermVector(termVector);  }  /**   * Create a tokenized and indexed field that is not stored. Term vectors will   * not be stored. This is useful for pre-analyzed fields.   * The TokenStream is read only when the Document is added to the index,   * i.e. you may not close the TokenStream until {@link IndexWriter#addDocument(Document)}   * has been called.   *    * @param name The name of the field   * @param tokenStream The TokenStream with the content   * @throws NullPointerException if name or tokenStream is <code>null</code>   */   public Field(String name, TokenStream tokenStream) {    this(name, tokenStream, TermVector.NO);  }    /**   * Create a tokenized and indexed field that is not stored, optionally with    * storing term vectors.  This is useful for pre-analyzed fields.   * The TokenStream is read only when the Document is added to the index,   * i.e. you may not close the TokenStream until {@link IndexWriter#addDocument(Document)}   * has been called.   *    * @param name The name of the field   * @param tokenStream The TokenStream with the content   * @param termVector Whether term vector should be stored   * @throws NullPointerException if name or tokenStream is <code>null</code>   */   public Field(String name, TokenStream tokenStream, TermVector termVector) {    if (name == null)      throw new NullPointerException("name cannot be null");    if (tokenStream == null)      throw new NullPointerException("tokenStream cannot be null");        this.name = name.intern();        // field names are interned    this.fieldsData = tokenStream;        this.isStored = false;    this.isCompressed = false;        this.isIndexed = true;    this.isTokenized = true;        this.isBinary = false;        setStoreTermVector(termVector);  }    /**   * Create a stored field with binary value. Optionally the value may be compressed.   *    * @param name The name of the field   * @param value The binary value   * @param store How <code>value</code> should be stored (compressed or not)   * @throws IllegalArgumentException if store is <code>Store.NO</code>    */  public Field(String name, byte[] value, Store store) {    this(name, value, 0, value.length, store);  }  /**   * Create a stored field with binary value. Optionally the value may be compressed.   *    * @param name The name of the field   * @param value The binary value   * @param offset Starting offset in value where this Field's bytes are   * @param length Number of bytes to use for this Field, starting at offset   * @param store How <code>value</code> should be stored (compressed or not)   * @throws IllegalArgumentException if store is <code>Store.NO</code>    */  public Field(String name, byte[] value, int offset, int length, Store store) {    if (name == null)      throw new IllegalArgumentException("name cannot be null");    if (value == null)      throw new IllegalArgumentException("value cannot be null");        this.name = name.intern();    fieldsData = value;        if (store == Store.YES) {      isStored = true;      isCompressed = false;    }    else if (store == Store.COMPRESS) {      isStored = true;      isCompressed = true;    }    else if (store == Store.NO)      throw new IllegalArgumentException("binary values can't be unstored");    else      throw new IllegalArgumentException("unknown store parameter " + store);        isIndexed   = false;    isTokenized = false;        isBinary    = true;    binaryLength = length;    binaryOffset = offset;        setStoreTermVector(TermVector.NO);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -