1

I am not able to create an index using the JAVA API. My code is:

graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
registerShutdownHook();
// END SNIPPET: startDb

// START SNIPPET: addUsers
Transaction tx = graphDb.beginTx();
try
{
    nodeIndex = graphDb.index().forNodes( "nodes" );
    // Create some users and index their names with the IndexService
    for ( int id = 0; id < 100; id++ )
    {
        createAndIndexUser( idToUserName( id ) );
    }
    // END SNIPPET: addUsers

    // Find a user through the search index
    // START SNIPPET: findUser
    int idToFind = 45;
    String userName = idToUserName( idToFind );
    Node foundUser = nodeIndex.get( USERNAME_KEY, userName ).getSingle();

    System.out.println( "The username of user " + idToFind + " is "
        + foundUser.getProperty( USERNAME_KEY ) );
    // END SNIPPET: findUser

    // Delete the persons and remove them from the index
    for ( Node user : nodeIndex.query( USERNAME_KEY, "*" ) )
    {
        nodeIndex.remove(  user, USERNAME_KEY, user.getProperty( USERNAME_KEY ) );
        user.delete();
    }
    tx.success();
}
finally
{
    tx.finish();
}

Error:

Exception in thread "main" java.lang.IllegalArgumentException: No index provider 'lucene' found. Maybe the intended provider (or one more of its dependencies) aren't on the classpath or it failed to load.

at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:90)
at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:141)
at org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:208)
at org.neo4j.kernel.IndexManagerImpl.getOrCreateNodeIndex(IndexManagerImpl.java:318)
at org.neo4j.kernel.NodeAutoIndexerImpl.getIndexInternal(NodeAutoIndexerImpl.java:85)
at org.neo4j.kernel.AbstractAutoIndexerImpl.getAutoIndex(AbstractAutoIndexerImpl.java:82)
at com.neo4j.Indexing.main(Indexing.java:39) Java Result: 1

1 Answer 1

2

Neo4j uses Lucene as its default index provider. Make sure you have the neo4j-lucene-index.jar in the classpath. You can download the appropriate version of the jar from here.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.