Lucene.Net  3.0.3
Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
Classes | Static Public Member Functions | List of all members
Lucene.Net.Search.Highlight.TokenSources Class Reference

Hides implementation issues associated with obtaining a TokenStream for use with the higlighter - can obtain from TermFreqVectors with offsets and (optionally) positions or from Analyzer class reparsing the stored content. More...

Classes

class  StoredTokenStream
 

Static Public Member Functions

static TokenStream GetAnyTokenStream (IndexReader reader, int docId, String field, Document doc, Analyzer analyzer)
 A convenience method that tries to first get a TermPositionVector for the specified docId, then, falls back to using the passed in org.apache.lucene.document.Document to retrieve the TokenStream. This is useful when you already have the document, but would prefer to use the vector first.
 
static TokenStream GetAnyTokenStream (IndexReader reader, int docId, String field, Analyzer analyzer)
 A convenience method that tries a number of approaches to getting a token stream. The cost of finding there are no termVectors in the index is minimal (1000 invocations still registers 0 ms). So this "lazy" (flexible?) approach to coding is probably acceptable
 
static TokenStream GetTokenStream (TermPositionVector tpv)
 
static TokenStream GetTokenStream (TermPositionVector tpv, bool tokenPositionsGuaranteedContiguous)
 Low level api. Returns a token stream or null if no offset info available in index. This can be used to feed the highlighter with a pre-parsed token stream
 
static TokenStream GetTokenStream (IndexReader reader, int docId, System.String field)
 
static TokenStream GetTokenStream (IndexReader reader, int docId, String field, Analyzer analyzer)
 
static TokenStream GetTokenStream (Document doc, String field, Analyzer analyzer)
 
static TokenStream GetTokenStream (String field, String contents, Analyzer analyzer)
 

Detailed Description

Hides implementation issues associated with obtaining a TokenStream for use with the higlighter - can obtain from TermFreqVectors with offsets and (optionally) positions or from Analyzer class reparsing the stored content.

Definition at line 38 of file TokenSources.cs.

Member Function Documentation

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetAnyTokenStream ( IndexReader  reader,
int  docId,
String  field,
Document  doc,
Analyzer  analyzer 
)
static

A convenience method that tries to first get a TermPositionVector for the specified docId, then, falls back to using the passed in org.apache.lucene.document.Document to retrieve the TokenStream. This is useful when you already have the document, but would prefer to use the vector first.

Parameters
readerThe IndexReader to use to try and get the vector from
docIdThe docId to retrieve.
fieldThe field to retrieve on the document
docThe document to fall back on
analyzerThe analyzer to use for creating the TokenStream if the vector doesn't exist
Returns
The TokenStream for the IFieldable on the Document
Exceptions
IOExceptionif there was an error loading

Definition at line 85 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetAnyTokenStream ( IndexReader  reader,
int  docId,
String  field,
Analyzer  analyzer 
)
static

A convenience method that tries a number of approaches to getting a token stream. The cost of finding there are no termVectors in the index is minimal (1000 invocations still registers 0 ms). So this "lazy" (flexible?) approach to coding is probably acceptable

Returns
null if field not stored correctly

Definition at line 109 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( TermPositionVector  tpv)
static

Definition at line 126 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( TermPositionVector  tpv,
bool  tokenPositionsGuaranteedContiguous 
)
static

Low level api. Returns a token stream or null if no offset info available in index. This can be used to feed the highlighter with a pre-parsed token stream

In my tests the speeds to recreate 1000 token streams using this method are:

  • with TermVector offset only data stored - 420 milliseconds
  • with TermVector offset AND position data stored - 271 milliseconds (nb timings for TermVector with position data are based on a tokenizer with contiguous positions - no overlaps or gaps) The cost of not using TermPositionVector to store pre-parsed content and using an analyzer to re-parse the original content:
  • reanalyzing the original content - 980 milliseconds

The re-analyze timings will typically vary depending on - 1) The complexity of the analyzer code (timings above were using a stemmer/lowercaser/stopword combo) 2) The number of other fields (Lucene reads ALL fields off the disk when accessing just one document field - can cost dear!) 3) Use of compression on field storage - could be faster due to compression (less disk IO) or slower (more CPU burn) depending on the content.

Parameters
tpv
Parameters
tokenPositionsGuaranteedContiguoustrue if the token position numbers have no overlaps or gaps. If looking to eek out the last drops of performance, set to true. If in doubt, set to false.

Definition at line 157 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( IndexReader  reader,
int  docId,
System.String  field 
)
static

Definition at line 227 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( IndexReader  reader,
int  docId,
String  field,
Analyzer  analyzer 
)
static

Definition at line 245 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( Document  doc,
String  field,
Analyzer  analyzer 
)
static

Definition at line 251 of file TokenSources.cs.

static TokenStream Lucene.Net.Search.Highlight.TokenSources.GetTokenStream ( String  field,
String  contents,
Analyzer  analyzer 
)
static

Definition at line 262 of file TokenSources.cs.


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