For a given index and key, I can look up Nodes using (Cypher):
START n=node:index('key:*')
RETURN n
Or using (Embedded Java):
Index<Node> index = .....
IndexHits<Node> hits = index.query(key, query);
Iterator<Node> itr = hits.iterator();
What I'm looking for is a way to do this in reverse; to find key/value pairs for which a given Node has been indexed. Something like:
Map<String, Object> pairs = index.getKeyValuePairs(node);
The only tool I've been able to find which goes in this direction is Luke, but this is a desktop Java app, making it tricky to use on indexes which are on a server.
The reason I'm interested in this is because I've got a large neo4j dataset where I've mis-indexed some Nodes. Now I can't find them without using a wildcard index query which is too imprecise and requires iteration of the returned IndexHits
, or using a Cypher query WHERE
clause, which is too slow.