|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.query.AbstractQueryHandler
org.apache.jackrabbit.core.query.lucene.SearchIndex
Implements a QueryHandler
using
Lucene.
Field Summary | |
static int |
DEFAULT_MAX_MERGE_DOCS
The default value for property #maxMergeDocs . |
static int |
DEFAULT_MERGE_FACTOR
the default value for property #mergeFactor . |
static int |
DEFAULT_MIN_MERGE_DOCS
The default value for property #minMergeDocs . |
Constructor Summary | |
SearchIndex()
Default constructor. |
Method Summary | |
void |
addNode(NodeState node)
Adds the node to the search index. |
void |
close()
Closes this QueryHandler and frees resources attached
to this handler. |
protected org.apache.lucene.document.Document |
createDocument(NodeState node,
NamespaceMappings nsMappings)
Creates a lucene Document from a node state using the
namespace mappings nsMappings . |
ExecutableQuery |
createExecutableQuery(SessionImpl session,
ItemManager itemMgr,
String statement,
String language)
Creates a new query by specifying the query statement itself and the language in which the query is stated. |
void |
deleteNode(String uuid)
Removes the node with uuid from the search index. |
protected void |
doInit()
Initializes this QueryHandler . |
boolean |
getAutoRepair()
|
int |
getBufferSize()
Returns the current value for the buffer size. |
int |
getCacheSize()
|
boolean |
getForceConsistencyCheck()
|
int |
getMaxMergeDocs()
Returns the current value for maxMergeDocs. |
int |
getMergeFactor()
Returns the current value for the merge factor. |
int |
getMinMergeDocs()
Returns the current value for minMergeDocs. |
String |
getPath()
Returns the location of the search index. |
boolean |
getRespectDocumentOrder()
|
boolean |
getUseCompoundFile()
Returns the current value for useCompoundFile. |
int |
getVolatileIdleTime()
Returns the current value for volatileIdleTime. |
void |
setAnalyzer(String analyzerClassName)
Sets the analyzer in use for indexing. |
void |
setAutoRepair(boolean b)
|
void |
setBufferSize(int size)
|
void |
setCacheSize(int size)
|
void |
setForceConsistencyCheck(boolean b)
|
void |
setMaxMergeDocs(int maxMergeDocs)
The lucene index writer property: maxMergeDocs |
void |
setMergeFactor(int mergeFactor)
The lucene index writer property: mergeFactor |
void |
setMinMergeDocs(int minMergeDocs)
The lucene index writer property: minMergeDocs |
void |
setPath(String path)
Sets the location of the search index. |
void |
setRespectDocumentOrder(boolean docOrder)
|
void |
setUseCompoundFile(boolean b)
The lucene index writer property: useCompoundFile |
void |
setVolatileIdleTime(int volatileIdleTime)
Sets the property: volatileIdleTime |
void |
updateNodes(Iterator remove,
Iterator add)
This implementation forwards the call to MultiIndex#update(java.util.Iterator, java.util.Iterator) and
transforms the two iterators to the required types. |
Methods inherited from class org.apache.jackrabbit.core.query.AbstractQueryHandler |
getContext, init |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int DEFAULT_MIN_MERGE_DOCS
#minMergeDocs
.
public static final int DEFAULT_MAX_MERGE_DOCS
#maxMergeDocs
.
public static final int DEFAULT_MERGE_FACTOR
#mergeFactor
.
Constructor Detail |
public SearchIndex()
Method Detail |
protected void doInit() throws IOException
QueryHandler
. This implementation requires
that a path parameter is set in the configuration. If this condition
is not met, a IOException
is thrown.
doInit
in class AbstractQueryHandler
IOException
- if an error occurs while initializing this handler.public void addNode(NodeState node) throws RepositoryException, IOException
node
to the search index.
node
- the node to add.
RepositoryException
- if an error occurs while indexing the node.
IOException
- if an error occurs while adding the node to the index.public void deleteNode(String uuid) throws IOException
uuid
from the search index.
uuid
- the UUID of the node to remove from the index.
IOException
- if an error occurs while removing the node from
the index.public void updateNodes(Iterator remove, Iterator add) throws RepositoryException, IOException
MultiIndex#update(java.util.Iterator, java.util.Iterator)
and
transforms the two iterators to the required types.
updateNodes
in interface QueryHandler
updateNodes
in class AbstractQueryHandler
remove
- uuids of nodes to remove.add
- NodeStates to add. Calls to next()
on this
iterator may return null
, to indicate that a
node could not be indexed successfully.
RepositoryException
- if an error occurs while indexing a node.
IOException
- if an error occurs while updating the index.public ExecutableQuery createExecutableQuery(SessionImpl session, ItemManager itemMgr, String statement, String language) throws InvalidQueryException
language
must specify a query language
string from among those returned by QueryManager.getSupportedQueryLanguages(); if it is not
then an InvalidQueryException
is thrown.
session
- the session of the current user creating the query object.itemMgr
- the item manager of the current user.statement
- the query statement.language
- the syntax of the query statement.
Query
object.
InvalidQueryException
- if statement is invalid or language is unsupported.public void close()
QueryHandler
and frees resources attached
to this handler.
public void setAnalyzer(String analyzerClassName)
If the above conditions are met, then a new instance of the class is set as the analyzer. Otherwise a warning is logged and the current analyzer is not changed.
This property setter method is normally invoked by the Jackrabbit configuration mechanism if the "analyzer" parameter is set in the search configuration.
analyzerClassName
- the analyzer class nameprotected org.apache.lucene.document.Document createDocument(NodeState node, NamespaceMappings nsMappings) throws RepositoryException
Document
from a node state using the
namespace mappings nsMappings
.
node
- the node state to index.nsMappings
- the namespace mappings of the search index.
Document
that contains all properties
of node
.
RepositoryException
- if an error occurs while indexing the
node
.public void setPath(String path)
path
- the location of the search index.public String getPath()
null
if
not set.
public void setUseCompoundFile(boolean b)
public boolean getUseCompoundFile()
public void setMinMergeDocs(int minMergeDocs)
public int getMinMergeDocs()
public void setVolatileIdleTime(int volatileIdleTime)
volatileIdleTime
- idle time in secondspublic int getVolatileIdleTime()
public void setMaxMergeDocs(int maxMergeDocs)
public int getMaxMergeDocs()
public void setMergeFactor(int mergeFactor)
public int getMergeFactor()
public void setBufferSize(int size)
VolatileIndex#setBufferSize(int)
public int getBufferSize()
public void setRespectDocumentOrder(boolean docOrder)
public boolean getRespectDocumentOrder()
public void setForceConsistencyCheck(boolean b)
public boolean getForceConsistencyCheck()
public void setAutoRepair(boolean b)
public boolean getAutoRepair()
public void setCacheSize(int size)
public int getCacheSize()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |