2016-11-09 181 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