Uso del índice automático Neo4J en Cypher donde la cláusula de filtrado

StackOverflow https://stackoverflow.com/questions/8331732

  •  26-10-2019
  •  | 
  •  

Pregunta

¿Se utilizan las propiedades de los índices automáticos en (nodo o relación) utilizados por el motor de ejecución de Cypher al ejecutar una cláusula de filtrado Where? Si no, ¿hay alguna forma de decirle a Cypher que los use? ¿Qué pasa para los índices de terceros (por ejemplo, Lucene)?

¿Fue útil?

Solución

Esto es algo de lo que hemos pensado mucho, pero por desgracia, todavía no.

La parte de indexación de Neo4J pronto obtendrá una revisión, y cuando eso suceda, ataremos a Cypher más cerca de ella, para poder hacer esto y otras cosas interesantes (como las heurísticas para elegir el índice correcto para usar).

Sin embargo, puedes hacerlo manualmente. Si tienes un movies<-[:ACTS_IN]-actor Modelo, y quieres a todos los actores llamados Kevin Bacon que han participado en una película, puedes escribirlo como:

START movie=node:movies("title:M*") 
MATCH movie<-[:ACTS_IN]-actor
WHERE actor.name = "Kevin Bacon"
RETURN movie.title

O puede hacer lo mismo con los índices:

START movie=node:movies("title:M*"),
      actor=node:actors(name="Kevin Bacon")
MATCH movie<-[:ACTS_IN]-actor
RETURN movie.title

Cuál es el más rápido es difícil de saber. Depende.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top