public String[] getNodeIndexNames() { return graphDb.index().nodeIndexNames(); }
@Override protected void serialize( final MappingSerializer serializer ) { indexManager.nodeIndexNames(); for ( String indexName : indexManager.nodeIndexNames() ) { Index<Node> index = indexManager.forNodes( indexName ); serializer.putMapping( indexName, new NodeIndexRepresentation( indexName, indexManager.getConfiguration( index ) ) ); } } }
private Map<String,Map<String,Serializable>> checkIndex( GraphDatabaseService db ) { Map<String,Map<String,Serializable>> result = new HashMap<>(); for ( String indexName : db.index().nodeIndexNames() ) { Map<String,Serializable> thisIndex = new HashMap<>(); Index<Node> tempIndex = db.index().forNodes( indexName ); for ( Map.Entry<String,Serializable> property : properties.props.entrySet() ) { try ( IndexHits<Node> content = tempIndex.get( property.getKey(), property.getValue() ) ) { if ( content.hasNext() ) { for ( Node hit : content ) { if ( hit.getId() == id ) { thisIndex.put( property.getKey(), property.getValue() ); break; } } } } } result.put( indexName, thisIndex ); } return result; }
@Deprecated @Description( "List all explicit indexes - YIELD type,name,config" ) @Procedure( name = "db.index.explicit.list", mode = READ, deprecatedBy = EXPLICIT_INDEX_DEPRECATION ) public Stream<ExplicitIndexInfo> list() { IndexManager mgr = graphDatabaseAPI.index(); List<ExplicitIndexInfo> indexInfos = new ArrayList<>( 100 ); for ( String name : mgr.nodeIndexNames() ) { Index<Node> index = mgr.forNodes( name ); indexInfos.add( new ExplicitIndexInfo( "NODE", name, mgr.getConfiguration( index ) ) ); } for ( String name : mgr.relationshipIndexNames() ) { RelationshipIndex index = mgr.forRelationships( name ); indexInfos.add( new ExplicitIndexInfo( "RELATIONSHIP", name, mgr.getConfiguration( index ) ) ); } return indexInfos.stream(); }
public String[] getNodeIndexes() { try ( Transaction transaction = database.getGraph().beginTransaction( implicit, AnonymousContext.read() ) ) { return database.getGraph().index().nodeIndexNames(); } }
@Test public void makeSureIndexNamesCanBeRead() { beginTx(); assertEquals( 0, graphDb.index().nodeIndexNames().length ); String name1 = "my-index-1"; Index<Node> nodeIndex1 = graphDb.index().forNodes( name1 ); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name1 ); String name2 = "my-index-2"; graphDb.index().forNodes( name2 ); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name1, name2 ); graphDb.index().forRelationships( name1 ); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name1, name2 ); assertContains( Arrays.asList( graphDb.index().relationshipIndexNames() ), name1 ); finishTx( true ); restartTx(); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name1, name2 ); assertContains( Arrays.asList( graphDb.index().relationshipIndexNames() ), name1 ); nodeIndex1.delete(); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name1, name2 ); assertContains( Arrays.asList( graphDb.index().relationshipIndexNames() ), name1 ); finishTx( true ); beginTx(); assertContains( Arrays.asList( graphDb.index().nodeIndexNames() ), name2 ); assertContains( Arrays.asList( graphDb.index().relationshipIndexNames() ), name1 ); finishTx( false ); } }
try ( Transaction tx = db.beginTx() ) Index<Node> nodeIndex = db.index().forNodes( db.index().nodeIndexNames()[0] ); Index<Relationship> relationshipIndex = db.index().forRelationships( db.index().relationshipIndexNames()[0] );
private synchronized Map<String, Map<String, Collection<Index<Node>>>> initIndexConfiguration() { Map<String, Map<String, Collection<Index<Node>>>> indexesByLabelAndProperty = new HashMap<>(); try (Transaction tx = graphDatabaseService.beginTx() ) { final IndexManager indexManager = graphDatabaseService.index(); for (String indexName : indexManager.nodeIndexNames()) { final Index<Node> index = indexManager.forNodes(indexName); Map<String, String> indexConfig = indexManager.getConfiguration(index); if (Util.toBoolean(indexConfig.get("autoUpdate"))) { String labels = indexConfig.getOrDefault("labels", ""); for (String label : labels.split(":")) { Map<String, Collection<Index<Node>>> propertyKeyToIndexMap = indexesByLabelAndProperty.computeIfAbsent(label, s -> new HashMap<>()); String[] keysForLabel = indexConfig.getOrDefault("keysForLabel:" + label, "").split(":"); for (String property : keysForLabel) { propertyKeyToIndexMap.computeIfAbsent(property, s -> new ArrayList<>()).add(index); } } } } tx.success(); } return indexesByLabelAndProperty; }
for ( String indexName : indexManager.nodeIndexNames() )
@Description("apoc.index.list() - YIELD type,name,config - lists all manual indexes") @Procedure(mode = Mode.READ) public Stream<IndexInfo> list() { IndexManager mgr = db.index(); List<IndexInfo> indexInfos = new ArrayList<>(100); for (String name : mgr.nodeIndexNames()) { Index<Node> index = mgr.forNodes(name); indexInfos.add(new IndexInfo(NODE,name,mgr.getConfiguration(index))); } for (String name : mgr.relationshipIndexNames()) { RelationshipIndex index = mgr.forRelationships(name); indexInfos.add(new IndexInfo(RELATIONSHIP,name,mgr.getConfiguration(index))); } return indexInfos.stream(); }
assertEquals( 1, graphDb.index().nodeIndexNames().length ); assertEquals( 1, graphDb.index().relationshipIndexNames().length ); assertEquals( "node_auto_index", graphDb.index().nodeIndexNames()[0] ); assertEquals( "relationship_auto_index", graphDb.index().relationshipIndexNames()[0] );
@Override public String[] nodeIndexNames() { return actual.index().nodeIndexNames(); }
public String[] getNodeIndexNames() { return graphDb.index().nodeIndexNames(); }
private void deleteNodeIndexes(IndexManager indexManager) { String[] nodeIndexNames = indexManager.nodeIndexNames(); for (String nodeIndexName : nodeIndexNames) { indexManager.forNodes(nodeIndexName).delete(); } }
@Override protected void serialize( final MappingSerializer serializer ) { indexManager.nodeIndexNames(); for ( String indexName : indexManager.nodeIndexNames() ) { Index<Node> index = indexManager.forNodes( indexName ); serializer.putMapping( indexName, new NodeIndexRepresentation( indexName, indexManager.getConfiguration( index ) ) ); } } }
private void deleteNodeIndexes(IndexManager indexManager) { String[] nodeIndexNames = indexManager.nodeIndexNames(); for (String nodeIndexName : nodeIndexNames) { indexManager.forNodes(nodeIndexName).delete(); } }
public Iterable<Index<? extends Element>> getIndices() { this.autoStartTransaction(false); final List<Index<? extends Element>> indices = new ArrayList<Index<? extends Element>>(); for (final String name : this.rawGraph.index().nodeIndexNames()) { if (!name.equals(Neo4j2Tokens.NODE_AUTO_INDEX)) indices.add(new Neo4j2Index(name, Vertex.class, this)); } for (final String name : this.rawGraph.index().relationshipIndexNames()) { if (!name.equals(Neo4j2Tokens.RELATIONSHIP_AUTO_INDEX)) indices.add(new Neo4j2Index(name, Edge.class, this)); } return indices; }
public String[] nodeIndexNames() { Transaction tx = beginTx(); try { String[] names = graphDatabaseService.index().nodeIndexNames(); tx.success(); return names; } finally { tx.close(); } } }
public String[] nodeIndexNames() { Transaction tx = beginTx(); try { String[] names = graphDatabaseService.index().nodeIndexNames(); tx.success(); return names; } finally { tx.close(); } } }
private void listIndexes( Output out ) throws RemoteException { out.println( "Node indexes:" ); for ( String name : getServer().getDb().index().nodeIndexNames() ) { out.println( " " + name ); } out.println( "" ); out.println( "Relationship indexes:" ); for ( String name : getServer().getDb().index().relationshipIndexNames() ) { out.println( " " + name ); } }