Windows 10
32Gb RAM
3.4 GHz时的8核Xeon处理器
Neo4j 3.4.7
Neo4j Browser 3.2.13
apoc-3.4.0.3.jar
graphaware-nlp-3.4.7.52.13.jar
graphaware-server-community-all-3.4.7.52.jar
nlp-stanfordnlp-3.4.7.52.13.jar
stanford-english-corenlp-2018-10-05-models.jar
嗨。我正在尝试注释数据库中的所有文本字段。有25532个具有文本值的节点。
我正在使用以下查询来执行此操作:
CALL apoc.periodic.iterate(
"MATCH (n:FreeTextResponse) WHERE NOT (n)-[:HAS_ANNOTATED_TEXT]->() RETURN n",
"CALL ga.nlp.annotate({text: n.fullSentenceString, id: id(n), checkLanguage: false})
YIELD result MERGE (n)-[:HAS_ANNOTATED_TEXT]->(result)", {batchSize:1, iterateList:false})
...并出现以下错误:
java.lang.OutOfMemoryError: Java heap space
我确定这只是某个地方的设置更改,但是我不确定什么地方。抱歉,这是一个新手问题!
答案 0 :(得分:6)
默认配置为512MB,对于Stanford NLP所使用的型号而言还不够。 如此处建议:
https://github.com/graphaware/neo4j-nlp
通过以下方式更改neo4j.conf文件:
dbms.memory.heap.initial_size=3000m
dbms.memory.heap.max_size=5000m
尽管考虑了RAM的可用性,但我建议两个值都建议使用5GB。