[Neo4j] Does removing a node/relationship automatically remove it from all indices?

Mattias Persson mattias at neotechnology.com
Fri Oct 29 10:20:47 CEST 2010

2010/10/27 Mattias Persson <mattias at neotechnology.com>

> I assume we're talking about the new integrated index framework (not
> IndexService), right? The Index framework which will replace
> IndexService and has ability to index relationships and all that?
> It's not a hard thing to implement the auto self-healing, clearing of
> deleted entities from an index when encountered... I just haven't
> gotten around to it. It's quite a nice feature, since it already hides
> them for you, it might as well delete them for you.

Now the index deletes entities which are no longer in the neo4j graph if
such are encounter during querying. So such encountered entities are kept in
memory and it slips 'em into the next write transaction modifying that index
(just to be as non-intrusive as possible). It's a solution which assumes
you're doing both querying and writes every now an then to indices. How does
that solution work in practice in f.ex. the Gremlin case?

> 2010/10/27, Marko Rodriguez <okrammarko at gmail.com>:
> > Hi,
> >
> >> The implementation is currently that if you "forget" to remove it from
> the
> >> index it will be filtered out of the query result silently... but over
> >> time
> >> that list of dead entities could grow, if the index couldn't somehow
> >> self-heal, which it definately could... well a lot could be done there.
> >
> > Yes. This is what I noticed: I was deleting vertices/edges, and when
> > querying the index, they were not returned. So I assumed that you had
> "auto
> > clearing" in the Index implementation. I was excited. However, now I see
> its
> > a "silent delete" on query.
> >
> > Now, I suppose in Blueprints, I can, for every deleted vertex/edge, go
> > through the indices and remove them for every key/value property they
> have.
> > However, this is time consuming and would yield slow delete speeds.
> > Thoughts? Should I just let the "silent delete" happen? Will there be
> plans
> > to automagically remove non-existent PropertyContainers from the indices?
> >
> > Thank you for your time,
> > Marko.
> > _______________________________________________
> > Neo4j mailing list
> > User at lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> --
> Mattias Persson, [mattias at neotechnology.com]
> Hacker, Neo Technology
> www.neotechnology.com

Mattias Persson, [mattias at neotechnology.com]
Hacker, Neo Technology

More information about the User mailing list