es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El índice de texto completo de Neo4j no se crea desde apoc.conf

Tengo una imagen personalizada de Docker de neo4j basada en neo4j:4.4.
En su inicio, necesito ejecutar algunas declaraciones cypher, que incluyen la creación de un índice de texto completo. Lo estoy haciendo utilizando el archivo apoc.conf:

apoc.import.file.use_neo4j_config=false
apoc.import.file.enabled=true
apoc.export.file.enabled=true
apoc.initializer.neo4j.0=CALL apoc.cypher.runSchemaFile("file:////var/lib/neo4j/db_init/create_regular_indexes.cypher")
apoc.initializer.neo4j.1=CALL apoc.cypher.runSchemaFile("file:////var/lib/neo4j/db_init/create_fulltext_indexes.cypher")

El archivo create_fulltext_indexes.cypher tiene el siguiente contenido:

CREATE FULLTEXT INDEX CustomerIndex IF NOT EXISTS FOR (n:Customer) ON EACH [n.name];

Cuando inicio el contenedor de Docker, veo en los registros que se ejecuta el archivo create_fulltext_indexes.cypher, no se muestran errores, pero el índice CustomerIndex no se crea. Los índices del archivo create_regular_indexes.cypher se crean normalmente.

Además, si intento ejecutar el siguiente comando en el contenedor:

cypher-shell -u usuario -p contraseña "CALL apoc.cypher.runSchemaFile('file:////var/lib/neo4j/db_init/create_fulltext_indexes.cypher')"

El índice CustomerIndex no se crea, pero cuando ejecuto la declaración cypher en el navegador de neo4j, funciona correctamente.

CREATE FULLTEXT INDEX CustomerIndex IF NOT EXISTS FOR (n:Customer) ON EACH [n.name];

¿Alguna idea de qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que el usuario que ejecuta el comando cypher-shell o el contenedor de Docker no tenga los permisos necesarios para crear el índice de texto completo.

    Además, es importante verificar si la configuración dbms.security.procedures.whitelist en neo4j.conf incluye apoc. para permitir la ejecución de procedimientos APOC.

    Por último, puede ser útil revisar los registros de Neo4j en busca de mensajes de error o información relevante que pueda arrojar luz sobre el problema.

Comments are closed.