/*
* 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;
using Lucene.Net.Documents;
namespace Lucene.Net.Index
{
/// Provides access to stored term vector of
/// a document field. The vector consists of the name of the field, an array of the terms tha occur in the field of the
/// and a parallel array of frequencies. Thus, getTermFrequencies()[5] corresponds with the
/// frequency of getTerms()[5], assuming there are at least 5 terms in the Document.
///
public interface ITermFreqVector
{
/// The name.
/// The name of the field this vector is associated with.
string Field { get; }
/// The number of terms in the term vector.
int Size { get; }
/// An Array of term texts in ascending order.
///
System.String[] GetTerms();
/// Array of term frequencies. Locations of the array correspond one to one
/// to the terms in the array obtained from getTerms
/// method. Each location in the array contains the number of times this
/// term occurs in the document or the document field.
///
int[] GetTermFrequencies();
/// Return an index in the term numbers array returned from
/// getTerms at which the term with the specified
/// term appears. If this term does not appear in the array,
/// return -1.
///
int IndexOf(System.String term);
/// Just like indexOf(int) but searches for a number of terms
/// at the same time. Returns an array that has the same size as the number
/// of terms searched for, each slot containing the result of searching for
/// that term number.
///
///
/// array containing terms to look for
///
/// index in the array where the list of terms starts
///
/// the number of terms in the list
///
int[] IndexesOf(System.String[] terms, int start, int len);
}
}