CLucene - a full-featured, c++ search engine
API Documentation


lucene::index::Term Class Reference

A Term represents a word from text. More...

#include <Term.h>

Inheritance diagram for lucene::index::Term:
lucene::debug::LuceneBase

List of all members.

Classes

class  Compare
class  Equals

Public Member Functions

 Term (const Term *fieldTerm, const TCHAR *txt)
 Term ()
 Constructs a blank term.
 Term (const TCHAR *fld, const TCHAR *txt, bool internField)
 Term (const TCHAR *fld, const TCHAR *txt)
 Constructor.
 ~Term ()
 Destructor.
const TCHAR * field () const
 Returns the field of this term, an interned string.
const TCHAR * text () const
 Returns the text of this term.
void set (const TCHAR *fld, const TCHAR *txt)
 Resets the field and text of a Term.
void set (const Term *term, const TCHAR *txt)
 Optimized set of Term by reusing same field as this Term

  • avoids field.intern() overhead.

void set (const TCHAR *fld, const TCHAR *txt, const bool internField)
int32_t compareTo (const Term *other) const
 Compares two terms, returning a negative integer if this term belongs before the argument, zero if this term is equal to the argument, and a positive integer if this term belongs after the argument.
bool equals (const Term *other) const
size_t textLength () const
TCHAR * toString () const
 Forms the contents of Field and term in some kind of tuple notation field:text>.
size_t hashCode ()

Detailed Description

A Term represents a word from text.

This is the unit of search. It is composed of two elements, the text of the word, as a string, and the name of the field that the text occured in, an interned string.

Note that terms may represent more than words from text fields, but also things like dates, email addresses, urls, etc.

IMPORTANT NOTE: Term inherits from the template class LUCENE_REFBASE which tries to do some garbage collection by counting the references an instance has. As a result of this construction you MUST use _CLDECDELETE(obj) when you want to delete an of Term!

ABOUT intrn

intrn indicates if field and text are interned or not. Interning of Strings is the process of converting duplicated strings to shared ones.


Constructor & Destructor Documentation

lucene::index::Term::Term ( const Term fieldTerm,
const TCHAR *  txt 
)
lucene::index::Term::Term (  ) 

Constructs a blank term.

lucene::index::Term::Term ( const TCHAR *  fld,
const TCHAR *  txt,
bool  internField 
)
lucene::index::Term::Term ( const TCHAR *  fld,
const TCHAR *  txt 
)

Constructor.

Constructs a Term with the given field and text. Field and text are not copied Field and text are deleted in destructor only if intern is false.

lucene::index::Term::~Term (  ) 

Destructor.


Member Function Documentation

int32_t lucene::index::Term::compareTo ( const Term other  )  const

Compares two terms, returning a negative integer if this term belongs before the argument, zero if this term is equal to the argument, and a positive integer if this term belongs after the argument.

The ordering of terms is first by field, then by text.

Referenced by lucene::index::Term::Compare::operator()(), and lucene::index::TermEnum::skipTo().

bool lucene::index::Term::equals ( const Term other  )  const
const TCHAR* lucene::index::Term::field (  )  const

Returns the field of this term, an interned string.

The field indicates the part of a document which this term came from. returns reference

size_t lucene::index::Term::hashCode (  ) 
void lucene::index::Term::set ( const TCHAR *  fld,
const TCHAR *  txt,
const bool  internField 
)
void lucene::index::Term::set ( const Term term,
const TCHAR *  txt 
)

Optimized set of Term by reusing same field as this Term

  • avoids field.intern() overhead.

Parameters:
text The text of the new term (field is implicitly same as this Term instance)
void lucene::index::Term::set ( const TCHAR *  fld,
const TCHAR *  txt 
) [inline]

Resets the field and text of a Term.

const TCHAR* lucene::index::Term::text (  )  const

Returns the text of this term.

In the case of words, this is simply the text of the word. In the case of dates and other types, this is an encoding of the object as a string. returns reference

size_t lucene::index::Term::textLength (  )  const [inline]
TCHAR* lucene::index::Term::toString (  )  const

Forms the contents of Field and term in some kind of tuple notation field:text>.


The documentation for this class was generated from the following file:

clucene.sourceforge.net