Class ElasticsearchStore
- java.lang.Object
-
- org.eclipse.rdf4j.sail.helpers.AbstractSail
-
- org.eclipse.rdf4j.sail.helpers.AbstractNotifyingSail
-
- org.eclipse.rdf4j.sail.extensiblestore.ExtensibleStore<org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchDataStructure,org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchNamespaceStore>
-
- org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStore
-
- All Implemented Interfaces:
FederatedServiceResolverClient
,NotifyingSail
,Sail
@Experimental public class ElasticsearchStore extends ExtensibleStore<org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchDataStructure,org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchNamespaceStore>
An RDF4J SailStore persisted to Elasticsearch.
This is an EXPERIMENTAL feature. Use at your own risk!
Note that, while RDF4J is licensed under the EDL, several ElasticSearch dependencies are licensed under the Elastic License or the SSPL, which may have implications for some projects.
Please consult the ElasticSearch website and Elastic license FAQ for more information.There is no write-ahead logging, so a failure during a transaction may result in partially persisted changes.
- Author:
- Håvard Mikkelsen Ottestad
- See Also:
- Elastic License FAQ
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.rdf4j.sail.extensiblestore.ExtensibleStore
ExtensibleStore.Cache
-
-
Field Summary
-
Fields inherited from class org.eclipse.rdf4j.sail.extensiblestore.ExtensibleStore
dataStructure, namespaceStore, sailStore
-
Fields inherited from class org.eclipse.rdf4j.sail.helpers.AbstractSail
connectionTimeOut, DEFAULT_CONNECTION_TIMEOUT, DEFAULT_ITERATION_SYNC_THRESHOLD, initializationLock
-
-
Constructor Summary
Constructors Constructor Description ElasticsearchStore(String hostname, int port, String clusterName, String index)
ElasticsearchStore(String hostname, int port, String clusterName, String index, ExtensibleStore.Cache cache)
ElasticsearchStore(org.eclipse.rdf4j.sail.elasticsearchstore.ClientProvider clientPool, String index)
ElasticsearchStore(org.eclipse.rdf4j.sail.elasticsearchstore.ClientProvider clientPool, String index, ExtensibleStore.Cache cache)
ElasticsearchStore(org.elasticsearch.client.Client client, String index)
ElasticsearchStore(org.elasticsearch.client.Client client, String index, ExtensibleStore.Cache cache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getClusterName()
protected NotifyingSailConnection
getConnectionInternal()
Returns a store-specific SailConnection object.ExtensibleStatementHelper
getExtensibleStatementHelper()
String
getHostname()
String
getIndex()
int
getPort()
protected void
initializeInternal()
Do store-specific operations to initialize the store.boolean
isWritable()
Checks whether this Sail object is writable, i.e.void
setElasticsearchBulkSize(int size)
void
setElasticsearchScrollTimeout(int timeout)
protected void
shutDownInternal()
Do store-specific operations to ensure proper shutdown of the store.void
waitForElasticsearch(int time, TemporalUnit timeUnit)
-
Methods inherited from class org.eclipse.rdf4j.sail.extensiblestore.ExtensibleStore
getCollectionFactory, getDefaultIsolationLevel, getEvaluationStatisticsType, getEvaluationStrategyFactory, getFederatedServiceResolver, getSupportedIsolationLevels, getValueFactory, setEvaluationStrategyFactory, setFederatedServiceResolver
-
Methods inherited from class org.eclipse.rdf4j.sail.helpers.AbstractNotifyingSail
addSailChangedListener, getConnection, notifySailChanged, removeSailChangedListener
-
Methods inherited from class org.eclipse.rdf4j.sail.helpers.AbstractSail
addSupportedIsolationLevel, connectionClosed, debugEnabled, getDataDir, getDefaultQueryEvaluationMode, getIterationCacheSyncThreshold, init, isInitialized, isTrackResultSize, removeSupportedIsolationLevel, setConnectionTimeOut, setDataDir, setDefaultIsolationLevel, setDefaultQueryEvaluationMode, setIterationCacheSyncThreshold, setSupportedIsolationLevels, setSupportedIsolationLevels, setTrackResultSize, shutDown, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.sail.Sail
getDataDir, init, setDataDir, shutDown
-
-
-
-
Constructor Detail
-
ElasticsearchStore
public ElasticsearchStore(String hostname, int port, String clusterName, String index)
-
ElasticsearchStore
public ElasticsearchStore(String hostname, int port, String clusterName, String index, ExtensibleStore.Cache cache)
-
ElasticsearchStore
public ElasticsearchStore(org.eclipse.rdf4j.sail.elasticsearchstore.ClientProvider clientPool, String index)
-
ElasticsearchStore
public ElasticsearchStore(org.eclipse.rdf4j.sail.elasticsearchstore.ClientProvider clientPool, String index, ExtensibleStore.Cache cache)
-
ElasticsearchStore
public ElasticsearchStore(org.elasticsearch.client.Client client, String index)
-
ElasticsearchStore
public ElasticsearchStore(org.elasticsearch.client.Client client, String index, ExtensibleStore.Cache cache)
-
-
Method Detail
-
initializeInternal
protected void initializeInternal() throws SailException
Description copied from class:AbstractSail
Do store-specific operations to initialize the store. The default implementation of this method does nothing.- Overrides:
initializeInternal
in classExtensibleStore<org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchDataStructure,org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchNamespaceStore>
- Throws:
SailException
-
shutDownInternal
protected void shutDownInternal() throws SailException
Description copied from class:AbstractSail
Do store-specific operations to ensure proper shutdown of the store.- Overrides:
shutDownInternal
in classExtensibleStore<org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchDataStructure,org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchNamespaceStore>
- Throws:
SailException
-
waitForElasticsearch
public void waitForElasticsearch(int time, TemporalUnit timeUnit)
-
setElasticsearchScrollTimeout
public void setElasticsearchScrollTimeout(int timeout)
-
getConnectionInternal
protected NotifyingSailConnection getConnectionInternal() throws SailException
Description copied from class:AbstractSail
Returns a store-specific SailConnection object.- Specified by:
getConnectionInternal
in classAbstractNotifyingSail
- Returns:
- A connection to the store.
- Throws:
SailException
-
isWritable
public boolean isWritable() throws SailException
Description copied from interface:Sail
Checks whether this Sail object is writable, i.e. if the data contained in this Sail object can be changed.- Throws:
SailException
-
getHostname
public String getHostname()
-
getPort
public int getPort()
-
getClusterName
public String getClusterName()
-
getIndex
public String getIndex()
-
setElasticsearchBulkSize
public void setElasticsearchBulkSize(int size)
-
getExtensibleStatementHelper
public ExtensibleStatementHelper getExtensibleStatementHelper()
- Overrides:
getExtensibleStatementHelper
in classExtensibleStore<org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchDataStructure,org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchNamespaceStore>
-
-