使用Elasticsearch插件的Couchbase(在数据库中找不到任何文档)

问题描述 投票:1回答:1

我正在尝试将ElasticSearch(版本5.6.7)连接到Couchbase(版本5.1.0)。

我正在使用Elasticsearch Transport Couchbase(版本elasticsearch-transport-couchbase-3.0.1-cypress-es5.6.7.zip),它应该适用于我的ElasticSearch版本(版本5.6.7)。

我遵循这些官方指示:

1)https://developer.couchbase.com/documentation/server/5.1/connectors/elasticsearch/getting-started.html;

2)https://github.com/couchbaselabs/elasticsearch-transport-couchbase

一切似乎都很好,但是当我尝试使用elasticsearch查询我的couchbase时,我总是得到0结果:

{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

我正在使用此链接查询我的数据库(其中elastic-bucket是在弹性搜索配置期间创建的索引):http://localhost:9200/elastic-bucket/_search?q=photo

我不知道该怎么做,因为我无法理解问题究竟是什么。

我能找到的与ElasticSearch中的日志消息相关的东西:

java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at org.elasticsearch.transport.couchbase.capi.ElasticSearchCAPIBehavior.bulkDocs(ElasticSearchCAPIBehavior.java:360) ~[elasticsearch-transport-couchbase-3.0.1-cypress-es5.6.7-all.jar:?]
at com.couchbase.capi.servlet.CAPIServlet.handleBulkDocs(CAPIServlet.java:532) ~[couchbase-capi-server-1.6.3.jar:?]
at com.couchbase.capi.servlet.CAPIServlet.service(CAPIServlet.java:89) ~[couchbase-capi-server-1.6.3.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) ~[jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513) [jetty-security-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.Server.handle(Server.java:523) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.13.v20161014.jar:9.3.13.v20161014]
at java.lang.Thread.run(Unknown Source) [?:?]

任何人有任何想法?提前致谢!

elasticsearch couchbase elasticsearch-plugin
1个回答
1
投票

该异常表明插件doesn't like running under Java 9。感谢您报告此事。

在短期内,您可以尝试使用Java 8运行Elasticsearch,或尝试使用How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9中提供的其他解决方案之一

另一件事是看看你是否可以通过ID获取文档,使用像http://localhost:9200/elastic-bucket/<document-type>/<document-id>这样的URL(其中<document-type>通常是couchbaseDocument,除非你已经将插件配置为使用别的东西)。如果您可以通过这种方式获取文档,而不是通过搜索,则日志中的堆栈跟踪可能不相关,并且可能存在mapping type定义方式的问题。

免责声明:我为Couchbase工作并维护Elasticsearch连接器。

© www.soinside.com 2019 - 2024. All rights reserved.