2016-11-09 179 views
1

我想在neo4j数据上创建弹性搜索索引。 我使用https://github.com/neo4j-contrib/neo4j-elasticsearchhttps://www.youtube.com/watch?v=SJLSFsXgOvA&ab_channel=AnmolAgrawal来创建neo4j的elasticsearch索引。无法从neo4j创建elasticsearch索引

但之后,即时通讯neo4j.log文件中获取低于错误。

2016-11-08 12:20:09.825+0000 WARN Error updating ElasticSearch No Server is assigned to client to connect 
io.searchbox.client.config.exception.NoServerConfiguredException: No Server is assigned to client to connect 
    at io.searchbox.client.AbstractJestClient$ServerPool.getNextServer(AbstractJestClient.java:132) 
    at io.searchbox.client.AbstractJestClient.getNextServer(AbstractJestClient.java:81) 
    at io.searchbox.client.http.JestHttpClient.prepareRequest(JestHttpClient.java:80) 
    at io.searchbox.client.http.JestHttpClient.executeAsync(JestHttpClient.java:60) 
    at org.neo4j.elasticsearch.ElasticSearchEventHandler.afterCommit(ElasticSearchEventHandler.java:81) 
    at org.neo4j.elasticsearch.ElasticSearchEventHandler.afterCommit(ElasticSearchEventHandler.java:27) 
    at org.neo4j.kernel.internal.TransactionEventHandlers.afterCommit(TransactionEventHandlers.java:149) 
    at org.neo4j.kernel.internal.TransactionEventHandlers.afterCommit(TransactionEventHandlers.java:47) 
    at org.neo4j.kernel.impl.api.TransactionHooks.afterCommit(TransactionHooks.java:75) 
    at org.neo4j.kernel.impl.api.KernelTransactionImplementation.afterCommit(KernelTransactionImplementation.java:541) 
    at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commit(KernelTransactionImplementation.java:482) 
    at org.neo4j.kernel.impl.api.KernelTransactionImplementation.close(KernelTransactionImplementation.java:380) 
    at org.neo4j.server.rest.transactional.TransitionalTxManagementKernelTransaction.commit(TransitionalTxManagementKernelTransaction.java:92) 
    at org.neo4j.server.rest.transactional.TransactionHandle.closeContextAndCollectErrors(TransactionHandle.java:243) 
    at org.neo4j.server.rest.transactional.TransactionHandle.commit(TransactionHandle.java:151) 
    at org.neo4j.server.rest.web.TransactionalService.lambda$executeStatementsAndCommit$29(TransactionalService.java:202) 
    at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:71) 
    at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57) 
    at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) 
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 

如何解决这个错误或有任何其他方式来更新索引如果neo4j节点的属性值更改?

+0

我猜一些凭证错误。 –

回答

0

您使用AWS ElasticSearch吗?他们不允许连接到单个节点。我在其他地方(来自AWS团队)阅读: “查看日志,似乎'iscconfig.discovery.NodeChecker'试图自动发现并连接到群集的各个节点,亚马逊一直在努力改进服务功能,但不幸的是,此时AWS不允许客户端连接到群集的各个节点,而是可以使用URL“

”连接。您需要关闭Jest客户端中的节点发现: ClientConfig clientConfig = new ClientConfig.Builder("http://localhost:9200").discoveryEnabled(false)

https://github.com/searchbox-io/Jest/blob/master/jest/README.md#node-discovery-through-nodes-api