public class BlocksIndexInput extends IndexInput
| Modifier and Type | Field and Description |
|---|---|
protected LRUCache |
blockCache |
static int |
CACHE_SIZE |
protected FileListBlock |
currentFileListBlock |
protected int |
currentFileListBlockNum |
protected IndexBlock |
currentIndexBlock |
protected int |
currentIndexBlockNum |
protected VDBResource |
indexFile |
protected IndexSummary |
summary |
currentWordEntry, filePosition, wordPosition| Constructor and Description |
|---|
BlocksIndexInput(VDBResource inputFile) |
| Modifier and Type | Method and Description |
|---|---|
void |
clearCache()
clears the cache of this indexInput, if it keeps track of the information already read.
|
void |
close()
Closes the IndexInput.
|
IndexedFile |
getCurrentFile()
Returns the current file the indexInput is pointing to in the index.
|
protected WordEntry |
getEntry(char[] word)
Returns the entry corresponding to the given word.
|
protected FileListBlock |
getFileListBlock(int blockNum)
Returns the FileListBlock with the given number.
|
protected IndexBlock |
getIndexBlock(int blockNum)
Returns the IndexBlock (containing words) with the given number.
|
IndexedFile |
getIndexedFile(IDocument document)
Returns the indexedFile corresponding to the given document in the index the input
reads in (e.g.
|
IndexedFile |
getIndexedFile(int fileNum)
Returns the indexedFile corresponding to the given document number in the index the input
reads in, or null if such indexedFile does not exist.
|
protected int[] |
getMatchingFileNumbers(char[] word)
Returns the list of numbers of files containing the given word.
|
int |
getNumFiles()
Returns the number of files in the index.
|
int |
getNumWords()
Returns the number of unique words in the index.
|
Object |
getSource()
Returns the Object the input is reading from.
|
protected void |
init()
Initialises the blocksIndexInput
|
void |
moveToNextFile()
Moves the pointer on the current file to the next file in the index.
|
void |
moveToNextWordEntry()
Moves the pointer on the current word to the next file in the index.
|
void |
open()
Open the Source where the input gets the information from.
|
IQueryResult[] |
query(String word) |
IEntryResult[] |
queryEntriesMatching(char[] pattern,
boolean isCaseSensitive)
Overloaded the method in BlocksIndexInput to allow a user to specify if the
query should be case sensitive.
|
IEntryResult[] |
queryEntriesPrefixedBy(char[] prefix)
Returns the list of the files containing the given word in the index.
|
IEntryResult[] |
queryEntriesPrefixedBy(char[] prefix,
boolean isCaseSensitive)
Overloaded the method in BlocksIndexInput to allow a user to specify if the
query should be case sensitive.
|
IQueryResult[] |
queryFilesReferringToPrefix(char[] prefix) |
IQueryResult[] |
queryInDocumentNames(String word)
Returns the list of the files whose name contain the given word in the index.
|
protected void |
setFirstFile()
Set the pointer on the current file to the first file of the index.
|
protected void |
setFirstWord()
Set the pointer on the current word to the first word of the index.
|
getCurrentWordEntry, getFilePosition, hasMoreFiles, hasMoreWords, isOpen, setOpenpublic static final int CACHE_SIZE
protected FileListBlock currentFileListBlock
protected int currentFileListBlockNum
protected int currentIndexBlockNum
protected IndexBlock currentIndexBlock
protected VDBResource indexFile
protected LRUCache blockCache
protected IndexSummary summary
public BlocksIndexInput(VDBResource inputFile)
public void clearCache()
IndexInputclearCache in class IndexInputIndexInput.clearCache()public void close()
throws IOException
IndexInputclose in class IndexInputIOExceptionIndexInput.close()public IndexedFile getCurrentFile() throws IOException
IndexInputgetCurrentFile in class IndexInputIOExceptionIndexInput.getCurrentFile()protected WordEntry getEntry(char[] word) throws IOException
IOExceptionprotected FileListBlock getFileListBlock(int blockNum) throws IOException
IOExceptionprotected IndexBlock getIndexBlock(int blockNum) throws IOException
IOExceptionpublic IndexedFile getIndexedFile(int fileNum) throws IOException
IndexInputgetIndexedFile in class IndexInputIOExceptionIndexInput.getIndexedFile(int)public IndexedFile getIndexedFile(IDocument document) throws IOException
IndexInputgetIndexedFile in class IndexInputIOExceptionIndexInput.getIndexedFile(IDocument)protected int[] getMatchingFileNumbers(char[] word)
throws IOException
IOExceptionpublic int getNumFiles()
IndexInputgetNumFiles in class IndexInputIndexInput.getNumFiles()public int getNumWords()
IndexInputgetNumWords in class IndexInputIndexInput.getNumWords()public Object getSource()
IndexInputgetSource in class IndexInputIndexInput.getSource()protected void init()
throws IOException
IOExceptionpublic void moveToNextFile()
throws IOException
IndexInputmoveToNextFile in class IndexInputIOExceptionIndexInput.moveToNextFile()public void moveToNextWordEntry()
throws IOException
IndexInputmoveToNextWordEntry in class IndexInputIOExceptionIndexInput.moveToNextWordEntry()public void open()
throws IOException
IndexInputopen in class IndexInputIOExceptionIndexInput.open()public IQueryResult[] query(String word) throws IOException
IOExceptionpublic IEntryResult[] queryEntriesMatching(char[] pattern, boolean isCaseSensitive) throws IOException
pattern - isCaseSensitive - IOExceptionpublic IEntryResult[] queryEntriesPrefixedBy(char[] prefix) throws IOException
IndexInputqueryEntriesPrefixedBy in class IndexInputIOExceptionpublic IEntryResult[] queryEntriesPrefixedBy(char[] prefix, boolean isCaseSensitive) throws IOException
IOExceptionpublic IQueryResult[] queryFilesReferringToPrefix(char[] prefix) throws IOException
queryFilesReferringToPrefix in class IndexInputIOExceptionpublic IQueryResult[] queryInDocumentNames(String word) throws IOException
IndexInputqueryInDocumentNames in class IndexInputIOExceptionIndexInput.queryInDocumentNames(String)protected void setFirstFile()
throws IOException
IndexInputsetFirstFile in class IndexInputIOExceptionIndexInput.setFirstFile()protected void setFirstWord()
throws IOException
IndexInputsetFirstWord in class IndexInputIOExceptionIndexInput.setFirstWord()Copyright © 2020. All rights reserved.