And also to circumvent this different in performance for not-very-big indexes you can make use of the built-in caching (for the new API)... see http://docs.neo4j.org/chunked/snapshot/indexing-lucene-extras.html#indexing-lucene-caching
2011/3/23 Tobias Ivarsson <[email protected]> > It is correct that getNodeById is much faster than an index lookup, but IDs > are assigned by Neo4j, there is no way for you as a user to assign IDs, > which makes it a very blunt tool for looking up entities. To know which id > corresponds to a particular name or similar attribute, you would have to go > through an index, and that is exactly what the Neo4j index API does for > you. > > By the way, the LuceneIndexService is a deprecated API, use > GraphDatabaseService#index() instead: > > http://components.neo4j.org/neo4j/1.3.M04/apidocs/org/neo4j/graphdb/GraphDatabaseService.html#index() > > Cheers, > Tobias > > On Wed, Mar 23, 2011 at 3:45 AM, 孤竹 <[email protected]> wrote: > > > HI,all > > > > I Found something interesting, The test as follow: > > > > public static void main(String args[]) { > > GraphDatabaseService db = new EmbeddedGraphDatabase("testDB"); > > indexService = new LuceneIndexService(db); > > Long startTime = System.currentTimeMillis(); > > for(int i =0 ;i <10000;i++){ > > Node node = getNodeByIndexProperty(db,String.valueOf(i)); > > } > > Long endTime = System.currentTimeMillis(); > > System.out.println("time = " + (endTime - startTime)); > > } > > public static Node getNodeByIndexProperty(GraphDatabaseService db, > > String keyValue) { > > // Node node = indexService.getSingleNode(KEY_NAME, keyValue); > > Node node = db.getNodeById(Long.valueOf(keyValue)); > > return node; > > } > > > > When I try to use the method indexService.getSingleNode...... with 9999 > > times, It will take 2 seconds (nearly) , BY when I use db.getNodeById.... > > same times, It just take 350 millisecond . Does it mean getById is faster > > than use index ? or Does that mean the natural index is better than index > if > > I can use it ? > > > > thanks for your help ,and replies, that help me very much! > > _______________________________________________ > > Neo4j mailing list > > [email protected] > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > -- > Tobias Ivarsson <[email protected]> > Hacker, Neo Technology > www.neotechnology.com > Cellphone: +46 706 534857 > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [[email protected]] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

