Indexer is the abstract indexing interface for dbXML. An Indexer object is implemented in order to retrieve and manage indexes.
Any number of Indexer instances may be associated with a single Collection. The type of Indexer utilized by a query depends on the 'Style' of Indexer and the type of QueryResolver that is being used to performt he query. Currently, dbXML only internally supports one kind of Indexer: 'XPath'.
This class implements the Hounder indexer. It parses the supplied String into a DOM Document and sequentially processes it through a list of modules supplied in the configuration file. Requests are received asynchronously and sent to a queue for sequential indexing. If journaling is turned on, a <transactionId>(long)</transactionId> element is added as a child of the root element.
@author Flaptor Development Team
Indexer interface. Any custom implementation for this interface can be plugged-in by configuring kundera.indexer.class property in persistence.xml. Once this is enabled in persistence provider, Kundera will automatically delegate index related requests to configure indexer interface implementation but will keep functioning for any database specific requests. For example, developer may rely upon custom index implementation for inverted indexes(e.g. @Id attributes) but entity data population will be handled by Kundera.
@author vivek.mishra
Do all the work of managing index updates from a single coprocessor. All Puts/Delets are passed to an {@link IndexBuilder} to determine the actual updates to make.
If the WAL is enabled, these updates are then added to the WALEdit and attempted to be written to the WAL after the WALEdit has been saved. If any of the index updates fail, this server is immediately terminated and we rely on WAL replay to attempt the index updates again (see {@link #preWALRestore(ObserverContext,HRegionInfo,HLogKey,WALEdit)}).
If the WAL is disabled, the updates are attempted immediately. No consistency guarantees are made if the WAL is disabled - some or none of the index updates may be successful. All updates in a single batch must have the same durability level - either everything gets written to the WAL or nothing does. Currently, we do not support mixed-durability updates within a single batch. If you want to have different durability levels, you only need to split the updates into two different batches.
Can be passed to a {@link CoreObject}'s forEach() / map() to retrieve the current loop index. A use case might look like this:
final OptionIndexer i = Indexer.NEW(); $(objects).forEach(new F1 System.out.println("Current index: " + i.i()); }}, i);
An single indexer can be shared among different jCores invocations of the same level (e.g., chained invocations), but not in nested invocations (i.e., jCores calls within calls).
@author Ralf Biedert
Do all the work of managing index updates from a single coprocessor. All Puts/Delets are passed to an {@link IndexBuilder} to determine the actual updates to make.
If the WAL is enabled, these updates are then added to the WALEdit and attempted to be written to the WAL after the WALEdit has been saved. If any of the index updates fail, this server is immediately terminated and we rely on WAL replay to attempt the index updates again (see {@link #preWALRestore(ObserverContext,HRegionInfo,HLogKey,WALEdit)}).
If the WAL is disabled, the updates are attempted immediately. No consistency guarantees are made if the WAL is disabled - some or none of the index updates may be successful. All updates in a single batch must have the same durability level - either everything gets written to the WAL or nothing does. Currently, we do not support mixed-durability updates within a single batch. If you want to have different durability levels, you only need to split the updates into two different batches.
Do all the work of managing index updates from a single coprocessor. All Puts/Delets are passed to an {@link IndexBuilder} to determine the actual updates to make.
If the WAL is enabled, these updates are then added to the WALEdit and attempted to be written to the WAL after the WALEdit has been saved. If any of the index updates fail, this server is immediately terminated and we rely on WAL replay to attempt the index updates again (see {@link #preWALRestore(ObserverContext,HRegionInfo,HLogKey,WALEdit)}).
If the WAL is disabled, the updates are attempted immediately. No consistency guarantees are made if the WAL is disabled - some or none of the index updates may be successful. All updates in a single batch must have the same durability level - either everything gets written to the WAL or nothing does. Currently, we do not support mixed-durability updates within a single batch. If you want to have different durability levels, you only need to split the updates into two different batches.
Indexer is the abstract indexing interface for Xindice. An Indexer object is implemented in order to retrieve and manage indexes.
Any number of Indexer instances may be associated with a single Collection. The type of Indexer utilized by a query depends on the 'Style' of Indexer and the type of QueryResolver that is being used to performt he query. Currently, Xindice only internally supports one kind of Indexer: 'XPath'.
Common interface for all indexers. Used to go over the whole data-structre during indexing. Used to check access-control for result-list.
@author Christian Guretzki
An Indexer can index into some proceeding structure to access a particular piece of it. Supported structures are: strings/collections (lists/sets)/arrays
@author Andy Clement
@since 3.0
indexing.max.docs.per.builder - Maximum number of documents in an index before a new index is created, and merged later.
indexing.builder.boundary.docnos - Docnos of documents that force the index being created to be completed, and a new index to be commenced. An alternative to indexing.max.docs.per.builder
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.