/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; namespace Lucene.Net.Documents { /// Synonymous with {@link Field}. /// /// /// public interface Fieldable { /// Sets the boost factor hits on this field. This value will be /// multiplied into the score of all hits on this this field of this /// document. /// ///

The boost is multiplied by {@link Lucene.Net.Documents.Document#GetBoost()} of the document /// containing this field. If a document has multiple fields with the same /// name, all such values are multiplied together. This product is then /// multipled by the value {@link Lucene.Net.Search.Similarity#LengthNorm(String,int)}, and /// rounded by {@link Lucene.Net.Search.Similarity#EncodeNorm(float)} before it is stored in the /// index. One should attempt to ensure that this product does not overflow /// the range of that encoding. /// ///

/// /// /// /// /// /// void SetBoost(float boost); /// Returns the boost factor for hits for this field. /// ///

The default value is 1.0. /// ///

Note: this value is not stored directly with the document in the index. /// Documents returned from {@link Lucene.Net.Index.IndexReader#Document(int)} and /// {@link Lucene.Net.Search.Hits#Doc(int)} may thus not have the same value present as when /// this field was indexed. /// ///

/// /// float GetBoost(); /// Returns the name of the field as an interned string. /// For example "date", "title", "body", ... /// System.String Name(); /// The value of the field as a String, or null. If null, the Reader value /// or binary value is used. Exactly one of stringValue(), readerValue(), and /// binaryValue() must be set. /// System.String StringValue(); /// The value of the field as a Reader, or null. If null, the String value /// or binary value is used. Exactly one of stringValue(), readerValue(), /// and binaryValue() must be set. /// System.IO.TextReader ReaderValue(); /// The value of the field in Binary, or null. If null, the Reader or /// String value is used. Exactly one of stringValue(), readerValue() and /// binaryValue() must be set. /// byte[] BinaryValue(); /// True iff the value of the field is to be stored in the index for return /// with search hits. It is an error for this to be true if a field is /// Reader-valued. /// bool IsStored(); /// True iff the value of the field is to be indexed, so that it may be /// searched on. /// bool IsIndexed(); /// True iff the value of the field should be tokenized as text prior to /// indexing. Un-tokenized fields are indexed as a single word and may not be /// Reader-valued. /// bool IsTokenized(); /// True if the value of the field is stored and compressed within the index bool IsCompressed(); /// True iff the term or terms used to index this field are stored as a term /// vector, available from {@link Lucene.Net.Index.IndexReader#GetTermFreqVector(int,String)}. /// These methods do not provide access to the original content of the field, /// only to terms used to index it. If the original content must be /// preserved, use the stored attribute instead. /// /// /// /// bool IsTermVectorStored(); /// True iff terms are stored as term vector together with their offsets /// (start and end positon in source text). /// bool IsStoreOffsetWithTermVector(); /// True iff terms are stored as term vector together with their token positions. bool IsStorePositionWithTermVector(); /// True iff the value of the filed is stored as binary bool IsBinary(); /// True if norms are omitted for this indexed field bool GetOmitNorms(); /// Expert: /// /// If set, omit normalization factors associated with this indexed field. /// This effectively disables indexing boosts and length normalization for this field. /// void SetOmitNorms(bool omitNorms); /// Indicates whether a Field is Lazy or not. The semantics of Lazy loading are such that if a Field is lazily loaded, retrieving /// it's values via {@link #StringValue()} or {@link #BinaryValue()} is only valid as long as the {@link Lucene.Net.Index.IndexReader} that /// retrieved the {@link Document} is still open. /// /// /// true if this field can be loaded lazily /// bool IsLazy(); } }