title: Cannot retrieve indexed nodes in Neo4j
body: <p>I load my data using the following code:</p>
  
  <pre><code>public void createGraph() {
   Map&lt;String, String&gt; config = new HashMap&lt;String, String&gt;();
   config.put("cache_type", "none");
   config.put("use_memory_mapped_buffers", "true");
   config.put("neostore.nodestore.db.mapped_memory", "200M");
   config.put("neostore.relationshipstore.db.mapped_memory", "1000M");
   config.put("neostore.propertystore.db.mapped_memory", "250M");
   config.put("neostore.propertystore.db.strings.mapped_memory", "250M");
   inserter = BatchInserters.inserter("./data/neo4j", config);
  
   long start = System.currentTimeMillis();
  
   try {
   BufferedReader reader = new BufferedReader(new InputStreamReader(new 
   FileInputStream("./data/enronEdges.txt")));
   String line;
   int lineCounter = 1;
   long srcNode, dstNode;
   while((line = reader.readLine()) != null) {
   if(lineCounter &gt; 4) {
   String[] parts = line.split("\t");
  
   srcNode = getOrCreate(parts[0]);
   dstNode = getOrCreate(parts[1]);
  
   inserter.createRelationship(srcNode, dstNode, RelTypes.SIMILAR, null);
   }
   lineCounter++;
   }
   reader.close();
   } 
   catch (IOException e) {
   e.printStackTrace();
   }
  
   long time = System.currentTimeMillis() - start;
   inserter.createDeferredSchemaIndex(NODE_LABEL).on("nodeId").create();
   System.out.println("Loading time: " + time / 1000.0);
  
   inserter.shutdown();
   }
  
   private long getOrCreate(String value) {
  
   Long id = cache.get(Long.valueOf(value));
   if(id == null) {
   Map&lt;String, Object&gt; properties = MapUtil.map("nodeId", value);
   id = inserter.createNode(properties, NODE_LABEL);
   cache.put(Long.valueOf(value), id);
   }
   return id;
   }
  </code></pre>
  
  <p>Then I am trying to retrieve the nodes with this code:</p>
  
  <pre><code>GraphDatabaseService gdb = new GraphDatabaseFactory().newEmbeddedDatabase(dbPath);
  try(Transaction tx = gdb.beginTx()) {
   Node n  = gdb.findNodesByLabelAndProperty(DynamicLabel.label("Node"), "nodeId", 1).iterator().next();
   System.out.println(n);
  </code></pre>
  
  <p>}</p>
  
  <p>But I am getting the following error:</p>
  
  <blockquote>
    <p>Exception in thread "main" java.util.NoSuchElementException: No more
    elements in
    org.neo4j.collection.primitive.PrimitiveLongCollections$5@6b3ab760  at
    org.neo4j.collection.primitive.PrimitiveLongCollections$PrimitiveLongBaseIterator.next(PrimitiveLongCollections.java:60)
    at
    org.neo4j.collection.primitive.PrimitiveLongCollections$13.next(PrimitiveLongCollections.java:712)
    at
    org.neo4j.helpers.collection.ResourceClosingIterator.next(ResourceClosingIterator.java:76)
    at test.Neo4jBatchInsert.visitAllNodes(Neo4jBatchInsert.java:56)  at
    test.Neo4jBatchInsert.main(Neo4jBatchInsert.java:49)</p>
  </blockquote>
  
  <p>Isn't this the proper way to get an indexed node?<br>
  FYI, I use neo4j 2.1.3 embedded.</p>