Optimización de búsqueda de Neo4j y configuración de proyectos Java

1. La velocidad de recuperación de Neo4j es lenta

Resuelto por la creación de un índice .

Referencia del principio del índice de neo4j : neo4j : varias ideas de optimización para la eficiencia de las consultas

1.1 pitón

  • Lea primero (https://blog.csdn.net/MaoziYa/article/details/114195824)
  • 代码 : graph.run ('CREAR ÍNDICE EN: PersonTest (nombre)')

Me encanta Python, ¡fácil de operar!

1.2 neo4j-shell + cypher-shell

Debido a que se utiliza el servicio remoto de Linux, no hay acceso directo al navegador para crear y modificar el índice.

  • bin / neo4j-shell: ver el índice y el estado creados actualmente
schema

# Indexes
#   ON :企业名称(企业名称) ONLINE  
#   ON :企业名称(name) ONLINE  
# 
# No constraints

# 注意索引应当是 ONLINE 状态才生效
  • bin / cypher-shell: Crear índice
# 输入密码后

# (1)创建
CREATE INDEX ON : 企业名称(登记机关);

# 返回信息:
# 0 rows available after 38 ms, consumed after another 0 ms
# Added 1 indexes

# (2)删除
DROP INDEX ON :企业名称(登记机关);

# 返回信息:
# 0 rows available after 5 ms, consumed after another 0 ms
# Removed 1 indexes

# 配合neo4j-shell查看索引是否创建成功

2. springCloud + Neo4j

2.1 Velocidad de recuperación lenta

Cuando se usa la interfaz para acceder a los datos de consulta de Neo4j, lleva mucho tiempo, alrededor de 1400 ms .

Revisé la construcción del índice de la base de datos varias veces y encontré que la construcción del índice era normal .

En el maven local, un proyecto simple requería mucho tiempo, y se encontró que la construcción del controlador requería más de 1300 ms, y el tiempo real de ejecución de la oración de recuperación y el tiempo de procesamiento del resultado de recuperación era de solo 57 ms.

12:40:07.007 [main] INFO org.test.neo.App - Neo4jDao process time:1329
12:40:07.067 [main] INFO org.test.neo.App - Neo4jDao process time:57

Mi maldito mal hábito de codificación, en lugar de encapsular neo4jUtil como una clase separada, lo escribí directamente en dao. La velocidad de recuperación es demasiado lenta ...

2.3 Controlador y sesión de Java Neo4j

  • Establecer conexión Driver driver = GraphDatabase.driver ()
  • Crear sesión Session session = driver.session ()

En el proyecto, Util devuelve la configuración inicial de la sesión y el rendimiento de la interfaz es relativamente grande.

2.2 Neo4j informa de un error durante la prueba de esfuerzo

java.lang.IllegalStateException: Existing open connection detected
	at org.neo4j.driver.internal.NetworkSession.lambda$acquireConnection$27(NetworkSession.java:447)
	at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:966)
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:940)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
	at org.neo4j.driver.internal.util.Futures.lambda$asCompletionStage$0(Futures.java:74)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.access$000(DefaultPromise.java:33)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:435)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

no resuelto.

Supongo que te gusta

Origin blog.csdn.net/MaoziYa/article/details/114398894
Recomendado
Clasificación