Class ElasticsearchIndex

java.lang.Object
org.eclipse.rdf4j.sail.lucene.AbstractSearchIndex
org.eclipse.rdf4j.sail.elasticsearch.ElasticsearchIndex
All Implemented Interfaces:
SearchIndex

@Deprecated(since="5.3.0", forRemoval=true) public class ElasticsearchIndex extends AbstractSearchIndex
Deprecated, for removal: This API element is subject to removal in a future version.
Deprecated in preparation for an Elasticsearch client upgrade; this API will change or be removed in a future release.
Requires an Elasticsearch cluster with the DeleteByQuery plugin.

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 license FAQ for more information.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "documentType=" to specify the document type to use.
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "indexName=" to specify the index to use.
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "transport=" to specify the address of the cluster to use (e.g. localhost:9300).
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "waitForActiveShards=" to configure if initialization should wait until the specified number of shards to be active.
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "waitForNoRelocatingShards=true|false" to configure if initialization should wait until the are no relocating shards.
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "waitForNodes=" to configure if initialization should wait until the specified number of nodes are available.
    static final String
    Deprecated.
    use WAIT_FOR_NO_RELOCATING_SHARDS_KEY in elastic search >= 5.x
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set the parameter "waitForStatus=" to configure if initialization should wait for a particular health status.

    Fields inherited from class AbstractSearchIndex

    defaultNumDocs, maxDocs, wktFields
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Begins a transaction.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Clears the indexes.
    void
    clearContexts(Resource... contexts)
    Deprecated, for removal: This API element is subject to removal in a future version.
    This should be called from within a begin-commit-rollback block.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Commits any changes done to the LuceneIndex since the last commit.The semantics is synchronous to SailConnection.commit(), i.e. the LuceneIndex should be committed/rolled back whenever the LuceneSailConnection is committed/rolled back.
    protected SearchDocument
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected com.google.common.base.Function<? super String, ? extends org.locationtech.spatial4j.context.SpatialContext>
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected Iterable<? extends DocumentDistance>
    geoQuery(IRI geoProperty, org.locationtech.spatial4j.shape.Point p, IRI units, double distance, String distanceVar, Var contextVar)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected Iterable<? extends DocumentResult>
    geoRelationQuery(String relation, IRI geoProperty, String wkt, Var contextVar)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected SearchDocument
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a Document representing the specified document ID (combination of resource and context), or null when no such Document exists yet.
    getDocument(Resource subject, Resource context)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a Document representing the specified Resource and Context combination, or null when no such Document exists yet.
    protected Iterable<? extends SearchDocument>
    getDocuments(String resourceId)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a list of Documents representing the specified Resource (empty when no such Document exists yet).Each document represent a set of statements with the specified Resource as a subject, which are stored in a specific context
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    static Set<String>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Filters the given list of fields, retaining all property fields.
    protected org.locationtech.spatial4j.context.SpatialContext
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    initialize(Properties parameters)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected BulkUpdater
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected SearchDocument
    newDocument(String id, String resourceId, String context)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected Iterable<? extends DocumentScore>
    query(Resource subject, QuerySpec spec)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Parse the passed query.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    org.elasticsearch.search.SearchHits
    search(Resource resource, org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Evaluates the given query only for the given resource.
    org.elasticsearch.search.SearchHits
    search(Resource resource, org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query, int numDocs)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Evaluates the given query only for the given resource.
    org.elasticsearch.search.SearchHits
    search(org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Evaluates the given query and returns the results as a TopDocs instance.
    org.elasticsearch.search.SearchHits
    search(org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query, int numDocs)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Evaluates the given query and returns the results as a TopDocs instance.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • INDEX_NAME_KEY

      public static final String INDEX_NAME_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "indexName=" to specify the index to use.
      See Also:
    • DOCUMENT_TYPE_KEY

      public static final String DOCUMENT_TYPE_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "documentType=" to specify the document type to use. By default, the document type is "resource".
      See Also:
    • TRANSPORT_KEY

      public static final String TRANSPORT_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "transport=" to specify the address of the cluster to use (e.g. localhost:9300).
      See Also:
    • WAIT_FOR_STATUS_KEY

      public static final String WAIT_FOR_STATUS_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "waitForStatus=" to configure if initialization should wait for a particular health status. The value can be one of "green" or "yellow". Does not wait by default.
      See Also:
    • WAIT_FOR_NODES_KEY

      public static final String WAIT_FOR_NODES_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "waitForNodes=" to configure if initialization should wait until the specified number of nodes are available. Does not wait by default.
      See Also:
    • WAIT_FOR_ACTIVE_SHARDS_KEY

      public static final String WAIT_FOR_ACTIVE_SHARDS_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "waitForActiveShards=" to configure if initialization should wait until the specified number of shards to be active. Does not wait by default.
      See Also:
    • WAIT_FOR_RELOCATING_SHARDS_KEY

      @Deprecated public static final String WAIT_FOR_RELOCATING_SHARDS_KEY
      Deprecated.
      use WAIT_FOR_NO_RELOCATING_SHARDS_KEY in elastic search >= 5.x
      Set the parameter "waitForRelocatingShards=" to configure if initialization should wait until the specified number of nodes are relocating. Does not wait by default.
      See Also:
    • WAIT_FOR_NO_RELOCATING_SHARDS_KEY

      public static final String WAIT_FOR_NO_RELOCATING_SHARDS_KEY
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the parameter "waitForNoRelocatingShards=true|false" to configure if initialization should wait until the are no relocating shards. Defaults to false, meaning the operation does not wait on there being no more relocating shards. Set to true to wait until the number of relocating shards in the cluster is 0.
      See Also:
    • DEFAULT_INDEX_NAME

      public static final String DEFAULT_INDEX_NAME
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • DEFAULT_DOCUMENT_TYPE

      public static final String DEFAULT_DOCUMENT_TYPE
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • DEFAULT_TRANSPORT

      public static final String DEFAULT_TRANSPORT
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • DEFAULT_ANALYZER

      public static final String DEFAULT_ANALYZER
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • ELASTICSEARCH_KEY_PREFIX

      public static final String ELASTICSEARCH_KEY_PREFIX
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • PROPERTY_FIELD_PREFIX

      public static final String PROPERTY_FIELD_PREFIX
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • ALL_PROPERTY_FIELDS

      public static final String ALL_PROPERTY_FIELDS
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • GEOPOINT_FIELD_PREFIX

      public static final String GEOPOINT_FIELD_PREFIX
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
    • GEOSHAPE_FIELD_PREFIX

      public static final String GEOSHAPE_FIELD_PREFIX
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
  • Constructor Details

    • ElasticsearchIndex

      public ElasticsearchIndex()
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • getClusterName

      public String getClusterName()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getIndexName

      public String getIndexName()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getTypes

      public String[] getTypes()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • initialize

      public void initialize(Properties parameters) throws Exception
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      initialize in interface SearchIndex
      Overrides:
      initialize in class AbstractSearchIndex
      Throws:
      Exception
    • createSpatialContextMapper

      protected com.google.common.base.Function<? super String, ? extends org.locationtech.spatial4j.context.SpatialContext> createSpatialContextMapper(Map<String,String> parameters)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getMappings

      public Map<String,Object> getMappings() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
      IOException
    • getSpatialContext

      protected org.locationtech.spatial4j.context.SpatialContext getSpatialContext(String property)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      getSpatialContext in class AbstractSearchIndex
    • shutDown

      public void shutDown() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
      IOException
    • getDocument

      protected SearchDocument getDocument(String id) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a Document representing the specified document ID (combination of resource and context), or null when no such Document exists yet.
      Specified by:
      getDocument in class AbstractSearchIndex
      Throws:
      IOException
    • getDocuments

      protected Iterable<? extends SearchDocument> getDocuments(String resourceId) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      getDocuments in class AbstractSearchIndex
      Throws:
      IOException
    • newDocument

      protected SearchDocument newDocument(String id, String resourceId, String context)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      newDocument in class AbstractSearchIndex
    • copyDocument

      protected SearchDocument copyDocument(SearchDocument doc)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      copyDocument in class AbstractSearchIndex
    • addDocument

      protected void addDocument(SearchDocument doc) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      addDocument in class AbstractSearchIndex
      Throws:
      IOException
    • updateDocument

      protected void updateDocument(SearchDocument doc) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      updateDocument in class AbstractSearchIndex
      Throws:
      IOException
    • deleteDocument

      protected void deleteDocument(SearchDocument doc) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      deleteDocument in class AbstractSearchIndex
      Throws:
      IOException
    • newBulkUpdate

      protected BulkUpdater newBulkUpdate()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      newBulkUpdate in class AbstractSearchIndex
    • getDocument

      public SearchDocument getDocument(Resource subject, Resource context) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a Document representing the specified Resource and Context combination, or null when no such Document exists yet.
      Parameters:
      subject -
      context -
      Returns:
      search document
      Throws:
      IOException
    • getDocuments

      public Iterable<? extends SearchDocument> getDocuments(Resource subject) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a list of Documents representing the specified Resource (empty when no such Document exists yet).Each document represent a set of statements with the specified Resource as a subject, which are stored in a specific context
      Parameters:
      subject -
      Returns:
      list of documents
      Throws:
      IOException
    • getPropertyFields

      public static Set<String> getPropertyFields(Set<String> fields)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Filters the given list of fields, retaining all property fields.
      Parameters:
      fields -
      Returns:
      set of fields
    • begin

      public void begin() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: SearchIndex
      Begins a transaction.
      Throws:
      IOException
    • commit

      public void commit() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: SearchIndex
      Commits any changes done to the LuceneIndex since the last commit.The semantics is synchronous to SailConnection.commit(), i.e. the LuceneIndex should be committed/rolled back whenever the LuceneSailConnection is committed/rolled back.
      Throws:
      IOException
    • rollback

      public void rollback() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
      IOException
    • query

      protected Iterable<? extends DocumentScore> query(Resource subject, QuerySpec spec) throws MalformedQueryException, IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Parse the passed query.
      Specified by:
      query in class AbstractSearchIndex
      Parameters:
      subject -
      spec - query to process
      Returns:
      the parsed query
      Throws:
      MalformedQueryException
      IOException
      IllegalArgumentException - if the spec contains a multi-param query
    • search

      public org.elasticsearch.search.SearchHits search(Resource resource, org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Evaluates the given query only for the given resource.
      Parameters:
      resource -
      request -
      query -
      Returns:
      search hits
    • search

      public org.elasticsearch.search.SearchHits search(Resource resource, org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query, int numDocs)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Evaluates the given query only for the given resource.
      Parameters:
      resource -
      request -
      query -
      numDocs -
      Returns:
      search hits
    • geoQuery

      protected Iterable<? extends DocumentDistance> geoQuery(IRI geoProperty, org.locationtech.spatial4j.shape.Point p, IRI units, double distance, String distanceVar, Var contextVar) throws MalformedQueryException, IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      geoQuery in class AbstractSearchIndex
      Throws:
      MalformedQueryException
      IOException
    • geoRelationQuery

      protected Iterable<? extends DocumentResult> geoRelationQuery(String relation, IRI geoProperty, String wkt, Var contextVar) throws MalformedQueryException, IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      geoRelationQuery in class AbstractSearchIndex
      Throws:
      MalformedQueryException
      IOException
    • search

      public org.elasticsearch.search.SearchHits search(org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Evaluates the given query and returns the results as a TopDocs instance.
    • search

      public org.elasticsearch.search.SearchHits search(org.elasticsearch.action.search.SearchRequestBuilder request, org.elasticsearch.index.query.QueryBuilder query, int numDocs)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Evaluates the given query and returns the results as a TopDocs instance.
    • clearContexts

      public void clearContexts(Resource... contexts) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: SearchIndex
      This should be called from within a begin-commit-rollback block.
      Parameters:
      contexts -
      Throws:
      IOException
    • clear

      public void clear() throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: SearchIndex
      Clears the indexes.
      Throws:
      IOException