Ejemplo n.º 1
0
		/// <summary>Implemented as
		/// <code>state.getBoost()*lengthNorm(numTerms)</code>, where
		/// <code>numTerms</code> is {@link FieldInvertState#GetLength()} if {@link
		/// #setDiscountOverlaps} is false, else it's {@link
		/// FieldInvertState#GetLength()} - {@link
		/// FieldInvertState#GetNumOverlap()}.
		/// 
		/// <p/><b>WARNING</b>: This API is new and experimental, and may suddenly
		/// change.<p/> 
		/// </summary>
		public override float ComputeNorm(System.String field, FieldInvertState state)
		{
			int numTerms;
			if (discountOverlaps)
				numTerms = state.GetLength() - state.GetNumOverlap();
			else
				numTerms = state.GetLength();
			return (float) (state.GetBoost() * LengthNorm(field, numTerms));
		}
Ejemplo n.º 2
0
        /// <summary>Implemented as
        /// <code>state.getBoost()*lengthNorm(numTerms)</code>, where
        /// <code>numTerms</code> is {@link FieldInvertState#GetLength()} if {@link
        /// #setDiscountOverlaps} is false, else it's {@link
        /// FieldInvertState#GetLength()} - {@link
        /// FieldInvertState#GetNumOverlap()}.
        ///
        /// <p/><b>WARNING</b>: This API is new and experimental, and may suddenly
        /// change.<p/>
        /// </summary>
        public override float ComputeNorm(System.String field, FieldInvertState state)
        {
            int numTerms;

            if (discountOverlaps)
            {
                numTerms = state.GetLength() - state.GetNumOverlap();
            }
            else
            {
                numTerms = state.GetLength();
            }
            return((float)(state.GetBoost() * LengthNorm(field, numTerms)));
        }