public class DefaultSearchEngine extends java.lang.Object implements SearchEngine
| Modifier and Type | Field and Description |
|---|---|
private CursorBuilder |
cursorBuilder
creates Cursors over entries satisfying filter expressions
|
private Store |
db
the Database this DefaultSearchEngine operates on
|
private EvaluatorBuilder |
evaluatorBuilder
creates evaluators which check to see if candidates satisfy a filter expression
|
private static org.slf4j.Logger |
LOG
The logger
|
private Optimizer |
optimizer
the Optimizer used by this DefaultSearchEngine
|
ALIASMODE_KEY, ALWAYS, FINDING, NEVER, SEARCHING| Constructor and Description |
|---|
DefaultSearchEngine(Store db,
CursorBuilder cursorBuilder,
EvaluatorBuilder evaluatorBuilder,
Optimizer optimizer)
Creates a DefaultSearchEngine for searching a Database without setting
up the database.
|
| Modifier and Type | Method and Description |
|---|---|
PartitionSearchResult |
computeResult(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager,
SearchOperationContext searchContext)
Conducts a search on a database.
|
Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode> |
evaluator(org.apache.directory.api.ldap.model.filter.ExprNode filter)
Builds an Evaluator for a filter expression.
|
Optimizer |
getOptimizer()
Gets the optimizer for this DefaultSearchEngine.
|
private static final org.slf4j.Logger LOG
private final Optimizer optimizer
private final Store db
private final CursorBuilder cursorBuilder
private final EvaluatorBuilder evaluatorBuilder
public DefaultSearchEngine(Store db, CursorBuilder cursorBuilder, EvaluatorBuilder evaluatorBuilder, Optimizer optimizer)
db - the btree based partitioncursorBuilder - an expression cursor builderevaluatorBuilder - an expression evaluator builderoptimizer - an optimizer to use during searchpublic Optimizer getOptimizer()
getOptimizer in interface SearchEnginepublic PartitionSearchResult computeResult(org.apache.directory.api.ldap.model.schema.SchemaManager schemaManager, SearchOperationContext searchContext) throws java.lang.Exception
computeResult in interface SearchEnginesearchContext - the search contextjava.lang.Exception - if the search failspublic Evaluator<? extends org.apache.directory.api.ldap.model.filter.ExprNode> evaluator(org.apache.directory.api.ldap.model.filter.ExprNode filter) throws java.lang.Exception
SearchEngineevaluator in interface SearchEnginefilter - the filter root AST nodejava.lang.Exception - if something goes wrong while accessing the dbSearchEngine.evaluator(ExprNode)