dbXML API

com.dbxml.db.common.fulltext
Class FullTextIndexer

java.lang.Object
  extended bycom.dbxml.db.common.btree.Paged
      extended bycom.dbxml.db.common.btree.BTree
          extended bycom.dbxml.db.common.fulltext.FullTextIndexer
All Implemented Interfaces:
Configurable, Indexer

public final class FullTextIndexer
extends BTree
implements Indexer

FullTextIndexer is a full text search implementation of the Indexer interface.


Nested Class Summary
 
Nested classes inherited from class com.dbxml.db.common.btree.Paged
Paged.FileHeader, Paged.Page, Paged.PageHeader
 
Field Summary
 
Fields inherited from interface com.dbxml.db.core.indexer.Indexer
STYLE_FULLTEXT, STYLE_NODENAME, STYLE_NODEVALUE
 
Constructor Summary
FullTextIndexer()
           
 
Method Summary
 void add(Transaction tx, java.lang.String value, Key key, int pos, int elemID, int attrID)
          add adds a Document to the Indexer.
 Configuration getConfig()
          getConfig retrieves the configuration information for the Configurable object instance.
 java.lang.String getIndexStyle()
          getIndexStyle returns the Index style.
 java.lang.String getName()
          getName returns the name of this Indexer.
 java.lang.String getPattern()
          getPattern returns the pattern recognized by this Indexer.
 java.util.Set getStopWords()
           
 WordStemmer getWordStemmer()
           
 IndexMatch[] queryMatches(Transaction tx, IndexQuery query)
          queryMatches retrieves a set of MatchEntry instances that match the supplied query.
 void remove(Transaction tx, java.lang.String value, Key key, int pos, int elemID, int attrID)
          remove removes all references to the specified Key from the Indexer.
 void setCollection(Collection collection)
          setCollection tells the Indexer who its parent is.
 void setConfig(Configuration config)
          setConfig sets the configuration information for the Configurable object instance.
 void setLocation(java.lang.String location)
           
 
Methods inherited from class com.dbxml.db.common.btree.BTree
addValue, create, createFileHeader, createFileHeader, createFileHeader, createFileHeader, createPageHeader, findValue, open, query, removeValue
 
Methods inherited from class com.dbxml.db.common.btree.Paged
addPageFilter, close, deleteArrayValue, drop, exists, flush, getFileHeader, getTransactionLog, insertArrayValue, isOpened, listPageFilters, removePageFilter
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.dbxml.db.core.indexer.Indexer
close, create, drop, exists, flush, getTransactionLog, isOpened, open
 

Constructor Detail

FullTextIndexer

public FullTextIndexer()
Method Detail

setConfig

public void setConfig(Configuration config)
Description copied from interface: Configurable
setConfig sets the configuration information for the Configurable object instance.

Specified by:
setConfig in interface Configurable
Overrides:
setConfig in class Paged

getConfig

public Configuration getConfig()
Description copied from interface: Configurable
getConfig retrieves the configuration information for the Configurable object instance.

Specified by:
getConfig in interface Configurable
Overrides:
getConfig in class Paged

getName

public java.lang.String getName()
Description copied from interface: Indexer
getName returns the name of this Indexer.

Specified by:
getName in interface Indexer
Returns:
the Indexer name

setLocation

public void setLocation(java.lang.String location)

setCollection

public void setCollection(Collection collection)
Description copied from interface: Indexer
setCollection tells the Indexer who its parent is.

Specified by:
setCollection in interface Indexer
Parameters:
collection - The owner Collection

getIndexStyle

public java.lang.String getIndexStyle()
Description copied from interface: Indexer
getIndexStyle returns the Index style. Different query languages will need to draw from different indexing styles. For example, A query that is written in quilt will require XPath indexing.

Specified by:
getIndexStyle in interface Indexer
Returns:
The index style

getWordStemmer

public WordStemmer getWordStemmer()

getStopWords

public java.util.Set getStopWords()

getPattern

public java.lang.String getPattern()
Description copied from interface: Indexer
getPattern returns the pattern recognized by this Indexer. Patterns must be in the form of (elem|*)[@(attr|*)] to tell the IndexManager which element types to send to it, so for example:
    contact@name  Indexes all contacts by name attribute
    memo          Indexes the text of all memo elements
    contact@*     Indexes all contact attributes
    *@name        Indexes the name attribute for all elements
    *             Indexes the text of all elements
    *@*           Indexes all attributes of all elements
 
These patterns are used by the IndexManager when handling SAX events. All events that match the specified pattern will result in an add or remove call to the Indexer.

Specified by:
getPattern in interface Indexer
Returns:
The Pattern used

remove

public void remove(Transaction tx,
                   java.lang.String value,
                   Key key,
                   int pos,
                   int elemID,
                   int attrID)
            throws DBException
Description copied from interface: Indexer
remove removes all references to the specified Key from the Indexer.

Specified by:
remove in interface Indexer
Parameters:
tx - The controlling Transaction
value - The value to remove
key - The Object ID
pos - The offset into the stream the Element occurs at
elemID - The Element ID of the value
attrID - The Attribute ID of the value (if any, else -1)
Throws:
DBException

add

public void add(Transaction tx,
                java.lang.String value,
                Key key,
                int pos,
                int elemID,
                int attrID)
         throws DBException
Description copied from interface: Indexer
add adds a Document to the Indexer.

Specified by:
add in interface Indexer
Parameters:
tx - The controlling Transaction
value - The value to remove
key - The Object ID
pos - The offset into the stream the Element occurs at
elemID - The Element ID of the value
attrID - The Attribute ID of the value (if any, else -1)
Throws:
DBException

queryMatches

public IndexMatch[] queryMatches(Transaction tx,
                                 IndexQuery query)
                          throws DBException
Description copied from interface: Indexer
queryMatches retrieves a set of MatchEntry instances that match the supplied query. The matches are then used by the QueryEngine in co-sequential processing. If this indexer doesn't support the passed value, it should return 'null'. If no matches are found, it should return an empty set. queryMatches will typically be used in XPath processing.

Specified by:
queryMatches in interface Indexer
Parameters:
tx - The controlling Transaction
query - The IndexQuery to use
Returns:
The resulting matches
Throws:
DBException

dbXML API

Copyright (c) 2004 The dbXML Group