I used the BatchInserter to create my DB with an index on the nodes, flushing the index every 50K nodes and at the end. After insertion (and the final flush), I print out the count of nodes added and do some sample queries on the index. I can find all of the nodes in the DB and Lucene index before shutting down the process. When bringing the created DB up in server mode, only the first 2.5MM (exactly) are in the Lucene index, though all in the DB and can be directly fetched by id (or traversal). Loading the node index directly in Solr as a test, I can only see the first 2.5MM nodes as well. I'm at a loss to explain this behavior. Any ideas?
Thanks,
Sean
The testIndex method is as follows:
public void testIndex(String user)
{
IndexHits<Long> hits = index.query("userName",user);
System.out.println( "Test index search." );
System.out.println( "Found " + hits.size() + " matches." );
for( Long id : hits ) {
System.out.println( "id: " + id );
}
}
output of batch index run:
2797568 users imported in 86 seconds.
Testing...
Test index search.
Found 1 matches.
id: 5203
Test index search.
Found 1 matches.
id: 2797559
Test index search.
Found 1 matches.
id: 2797568
output of standalone test using GraphDatabaseService
Testing...
Test index search.
Found 1 matches.
id: 5203
Test index search.
Found 0 matches.
Test index search.
Found 0 matches.