Interface IndexingSpi
-
- All Superinterfaces:
IgniteSpi
- All Known Implementing Classes:
NoopIndexingSpi
public interface IndexingSpi extends IgniteSpi
Indexing SPI allows user to index cache content. Using indexing SPI user can index data in cache and run queries.NOTE: this SPI (i.e. methods in this interface) should never be used directly. SPIs provide internal view on the subsystem and is used internally by Ignite kernal. In rare use cases when access to a specific implementation of this SPI is required - an instance of this SPI can be obtained via
Ignite.configuration()
method to check its configuration properties or call other non-SPI methods. Note again that calling methods from this interface on the obtained instance can lead to undefined behavior and explicitly not supported. NOTE: Key and value arguments of IgniteSpi methods can beBinaryObject
instances. BinaryObjects can be deserialized manually if original objects needed. Here is a Java example on how to configure SPI.IndexingSpi spi = new MyIndexingSpi(); IgniteConfiguration cfg = new IgniteConfiguration(); // Overrides default indexing SPI. cfg.setIndexingSpi(spi); // Starts grid. Ignition.start(cfg);
Here is an example of how to configure SPI from Spring XML configuration file.<property name="indexingSpi"> <bean class="com.example.MyIndexingSpi"> </bean> </property>
For information about Spring framework visit www.springframework.org
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Iterator<javax.cache.Cache.Entry<?,?>>
query(@Nullable String cacheName, Collection<Object> params, @Nullable IndexingQueryFilter filters)
Executes query.void
remove(@Nullable String cacheName, Object key)
Removes index entry by key.void
store(@Nullable String cacheName, Object key, Object val, long expirationTime)
Updates index.-
Methods inherited from interface org.apache.ignite.spi.IgniteSpi
getName, getNodeAttributes, onClientDisconnected, onClientReconnected, onContextDestroyed, onContextInitialized, spiStart, spiStop
-
-
-
-
Method Detail
-
query
Iterator<javax.cache.Cache.Entry<?,?>> query(@Nullable @Nullable String cacheName, Collection<Object> params, @Nullable @Nullable IndexingQueryFilter filters) throws IgniteSpiException
Executes query.- Parameters:
cacheName
- Cache name.params
- Query parameters.filters
- System filters.- Returns:
- Query result. If the iterator implements
AutoCloseable
it will be correctly closed. - Throws:
IgniteSpiException
- If failed.
-
store
void store(@Nullable @Nullable String cacheName, Object key, Object val, long expirationTime) throws IgniteSpiException
Updates index. Note that key is unique for cache, so if cache contains multiple indexes the key should be removed from indexes other than one being updated.- Parameters:
cacheName
- Cache name.key
- Key.val
- Value.expirationTime
- Expiration time or 0 if never expires.- Throws:
IgniteSpiException
- If failed.
-
remove
void remove(@Nullable @Nullable String cacheName, Object key) throws IgniteSpiException
Removes index entry by key.- Parameters:
cacheName
- Cache name.key
- Key.- Throws:
IgniteSpiException
- If failed.
-
-