Interface SearchIndex

    • Method Detail

      • accept

        boolean accept​(Literal literal)
        Returns whether the provided literal is accepted by the LuceneIndex to be indexed. It for instance does not make much since to index xsd:float.
        Parameters:
        literal - the literal to be accepted
        Returns:
        true if the given literal will be indexed by this LuceneIndex
      • isGeoField

        boolean isGeoField​(String propertyName)
        Returns true if the given property contains a geometry.
        Parameters:
        propertyName -
        Returns:
        boolean
      • isTypeStatement

        boolean isTypeStatement​(Statement statement)
        Returns true if the given statement is a type statement, see LuceneSail.INDEXEDTYPES to use. This method should return false if isTypeFilteringEnabled() returns false.
        Parameters:
        statement - statement
        Returns:
        boolean
      • isTypeFilteringEnabled

        boolean isTypeFilteringEnabled()
        is the LuceneSail.INDEXEDTYPES parameter set for this index.
        Returns:
        boolean
      • isIndexedTypeStatement

        boolean isIndexedTypeStatement​(Statement statement)
        Returns true if the given statement is a type statement of the right type, see LuceneSail.INDEXEDTYPES to use. This method should return false if isTypeFilteringEnabled() returns false.
        Parameters:
        statement - statement
        Returns:
        boolean
      • getIndexedTypeMapping

        Map<IRI,​Set<IRI>> getIndexedTypeMapping()
        Returns:
        the accepted types for a particular predicate map (predicate -> [objects])
      • commit

        void commit()
             throws IOException
        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
      • addStatement

        void addStatement​(Statement statement)
                   throws IOException
        Indexes the specified Statement.This should be called from within a begin-commit-rollback block.
        Parameters:
        statement -
        Throws:
        IOException
      • removeStatement

        void removeStatement​(Statement statement)
                      throws IOException
        Removes the specified Statement from the indexes.This should be called from within a begin-commit-rollback

        block.

        Parameters:
        statement -
        Throws:
        IOException
      • addRemoveStatements

        void addRemoveStatements​(Collection<Statement> added,
                                 Collection<Statement> removed)
                          throws IOException
        Add many statements at the same time, remove many statements at the same time.Ordering by resource has to be done inside this method. The passed added/removed sets are disjunct, no statement can be in both. This should be called from within a begin-commit-rollback block.
        Parameters:
        added - all added statements, can have multiple subjects
        removed - all removed statements, can have multiple subjects
        Throws:
        IOException
      • clearContexts

        void clearContexts​(Resource... contexts)
                    throws IOException
        This should be called from within a begin-commit-rollback block.
        Parameters:
        contexts -
        Throws:
        IOException
      • addDocuments

        void addDocuments​(Resource subject,
                          List<Statement> statements)
                   throws IOException
        Add a complete Lucene Document based on these statements.Do not search for an existing document with the same subject id. (assume the existing document was deleted). This should be called from within a begin-commit-rollback block.
        Parameters:
        subject -
        statements - the statements that make up the resource
        Throws:
        IOException