private OIndexManager getIndexManager() { return database.getMetadata().getIndexManager(); }
protected OIndexManager getIndexManager() { if(indexManager==null) { indexManager = getDatabase().getMetadata().getIndexManager(); } return indexManager; }
protected static OLuceneFullTextIndex getLuceneFullTextIndex(OCommandContext ctx, String indexName) { OMetadata metadata = ctx.getDatabase().activateOnCurrentThread().getMetadata(); OLuceneFullTextIndex index = (OLuceneFullTextIndex) metadata.getIndexManager().getIndex(indexName); if (!(index instanceof OLuceneFullTextIndex)) { throw new IllegalArgumentException("Not a valid Lucene index:: " + indexName); } return index; }
public Object execute(Object iThis, final OIdentifiable iCurrentRecord, Object iCurrentResult, final Object[] iParams, OCommandContext iContext) { final Object value = iParams[0]; String indexName = String.valueOf(value); OIndex<?> index = iContext.getDatabase().getMetadata().getIndexManager().getIndex(indexName); if (index == null) { return null; } return index.getKeySize(); }
public void dropIndex(final String indexName) { commitAnyActiveTx("drop index"); try { synchronized (contexts) { for (OrientGraphContext ctx : contexts) { ctx.manualIndices.remove(indexName); } } getRawGraph().getMetadata().getIndexManager().dropIndex(indexName); saveIndexConfiguration(); } catch (Exception e) { this.rollback(); throw new RuntimeException(e.getMessage(), e); } }
private List<OIndex<?>> relatedIndexes(final String fieldName, ODatabase database) { final List<OIndex<?>> result = new ArrayList<OIndex<?>>(); for (final OIndex<?> oIndex : database.getMetadata().getIndexManager().getClassIndexes(className.getStringValue())) { if (OCollections.indexOf(oIndex.getDefinition().getFields(), fieldName, new OCaseInsentiveComparator()) > -1) { result.add(oIndex); } } return result; }
private List<OIndex<?>> relatedIndexes(final String fieldName) { final List<OIndex<?>> result = new ArrayList<OIndex<?>>(); final ODatabaseDocument database = getDatabase(); for (final OIndex<?> oIndex : database.getMetadata().getIndexManager().getClassIndexes(className)) { if (OCollections.indexOf(oIndex.getDefinition().getFields(), fieldName, new OCaseInsentiveComparator()) > -1) { result.add(oIndex); } } return result; }
@Override public OResult next() { if (executed) { throw new IllegalStateException(); } long begin = profilingEnabled ? System.nanoTime() : 0; try { OIndex<?> idx = ctx.getDatabase().getMetadata().getIndexManager().getIndex(target.getIndexName()); long size = idx.getSize(); executed = true; OResultInternal result = new OResultInternal(); result.setProperty(alias, size); return result; } finally { count += (System.nanoTime() - begin); } }
private OLuceneFullTextIndex searchForIndex(OCommandContext ctx, String indexName) { OIndex<?> index = ctx.getDatabase().getMetadata().getIndexManager().getIndex(indexName); if (index != null && index.getInternal() instanceof OLuceneFullTextIndex) { return (OLuceneFullTextIndex) index; } return null; }
protected void saveIndexConfiguration() { getRawGraph().getMetadata().getIndexManager().getConfiguration().save(); }
@Override public void onDrop(final ODatabaseInternal db) { try { if (db.isClosed()) return; OLogManager.instance().debug(this, "Dropping Lucene indexes..."); db.getMetadata().getIndexManager().getIndexes().stream().filter(idx -> idx.getInternal() instanceof OLuceneFullTextIndex) .peek(idx -> OLogManager.instance().debug(this, "deleting index " + idx.getName())).forEach(idx -> idx.delete()); } catch (Exception e) { OLogManager.instance().warn(this, "Error on dropping Lucene indexes", e); } }
public <T extends Element> void dropKeyIndex(final String key, final Class<T> elementClass) { commitAnyActiveTx("drop key index"); final String className = getClassName(elementClass); getRawGraph().getMetadata().getIndexManager() .dropIndex(className + "." + key); }
private OLuceneFullTextIndex searchForIndex(String className, OCommandContext ctx, OExpression... args) { String indexName = (String) args[0].execute((OIdentifiable) null, ctx); OIndex<?> index = ctx.getDatabase().getMetadata().getIndexManager().getClassIndex(className, indexName); if (index != null && index.getInternal() instanceof OLuceneFullTextIndex) { return (OLuceneFullTextIndex) index; } return null; }
public <T extends Element> Set<String> getIndexedKeys( final Class<T> elementClass) { final OSchema schema = getRawGraph().getMetadata().getSchema(); final String elementOClassName = getClassName(elementClass); Set<String> result = new HashSet<String>(); final Collection<? extends OIndex<?>> indexes = getRawGraph() .getMetadata().getIndexManager().getIndexes(); for (OIndex<?> index : indexes) { String indexName = index.getName(); int point = indexName.indexOf("."); if (point > 0) { String oClassName = indexName.substring(0, point); OClass oClass = schema.getClass(oClassName); if (oClass.isSubClassOf(elementOClassName)) result.add(index.getDefinition().getFields().get(0)); } } return result; }
private void create(final String indexName, final Class<? extends Element> indexClass, OType iKeyType) { this.indexClass = indexClass; if (iKeyType == null) iKeyType = OType.STRING; // CREATE THE MAP this.underlying = new OIndexTxAwareMultiValue(graph.getRawGraph(), (OIndex<Collection<OIdentifiable>>) graph.getRawGraph() .getMetadata().getIndexManager() .createIndex(indexName, OClass.INDEX_TYPE.NOTUNIQUE.toString(), new OSimpleKeyIndexDefinition(iKeyType), null, null)); final String className; if (Vertex.class.isAssignableFrom(indexClass)) className = VERTEX; else if (Edge.class.isAssignableFrom(indexClass)) className = EDGE; else className = indexClass.getName(); // CREATE THE CONFIGURATION FOR THE NEW INDEX underlying.getConfiguration().field(CONFIG_CLASSNAME, className); }
@Override public void run() { for (OIndex index : database.getMetadata().getIndexManager().getIndexes()) { if (!canCheck(index)) { continue; } checkIndex(index); } message("Total errors found on indexes: " + getTotalErrors()); }
@Override public void onDrop(final ODatabaseInternal iDatabase) { OLogManager.instance().info(this, "Dropping Lucene indexes..."); for (OIndex idx : iDatabase.getMetadata().getIndexManager().getIndexes()) { if (idx.getInternal() instanceof OLuceneIndex) { OLogManager.instance().info(this, "- index '%s'", idx.getName()); idx.delete(); } } }
protected OLuceneFullTextIndex involvedIndex(OIdentifiable iRecord, ODocument iCurrentResult, OSQLFilterCondition iCondition, Object iLeft, Object iRight) { ODocument doc = iRecord.getRecord(); Set<OIndex<?>> classInvolvedIndexes = getDatabase().getMetadata().getIndexManager() .getClassInvolvedIndexes(doc.getClassName(), fields(iCondition)); OLuceneFullTextIndex idx = null; for (OIndex<?> classInvolvedIndex : classInvolvedIndexes) { if (classInvolvedIndex.getInternal() instanceof OLuceneFullTextIndex) { idx = (OLuceneFullTextIndex) classInvolvedIndex.getInternal(); break; } } return idx; }
@Override public void onDrop(final ODatabaseInternal iDatabase) { try { OLogManager.instance().debug(this, "Dropping Lucene indexes..."); for (OIndex idx : iDatabase.getMetadata().getIndexManager().getIndexes()) { if (idx.getInternal() instanceof OLuceneIndex) { OLogManager.instance().debug(this, "- index '%s'", idx.getName()); idx.delete(); } } } catch (Exception e) { OLogManager.instance().warn(this, "Error on dropping Lucene indexes", e); } }
@Override public void onDrop(final ODatabaseInternal db) { try { if (db.isClosed()) return; OLogManager.instance().debug(this, "Dropping spatial indexes..."); for (OIndex idx : db.getMetadata().getIndexManager().getIndexes()) { if (idx.getInternal() instanceof OLuceneSpatialIndex) { OLogManager.instance().debug(this, "- index '%s'", idx.getName()); idx.delete(); } } } catch (Exception e) { OLogManager.instance().warn(this, "Error on dropping spatial indexes", e); } }