【发布时间】:2016-03-01 12:13:21
【问题描述】:
我是使用 elasticsearch 的建议器 java API 的新手,我使用 2.1.1 版,我看网上的所有资源都是关于 curl 而不是 java 示例,现在我得到了一个名为“facebook”的索引和 1 个准备好的数据集.可以使用搜索API进行搜索
CompletionSuggestionBuilder suggestionsBuilder = new CompletionSuggestionBuilder("completeMe");
suggestionsBuilder.text("qui");
suggestionsBuilder.field("content");
SuggestRequestBuilder suggestRequestBuilder =
client.prepareSuggest("facebook").addSuggestion(suggestionsBuilder);
然后我尝试使用 elasticsearch 的建议器 API,我得到了这些错误,我不知道错过了什么。请用一些例子给我建议。提前致谢。
{author=Lance Tan Kah Woon, postDate=2016-01-31T13:16:49.767Z, title=Posting, content=today's weather quite ok, tags=[hashtag]}
-------------------------------------------------------
16947 [elasticsearch[Ego the Living Planet][suggest][T#1]] DEBUG org.elasticsearch.action.suggest - [Ego the Living Planet] [facebook][0], node[dEgugNdOSjiePr9gmltemg], [P], v[36], s[STARTED], a[id=eRze_kTISNu5xJH83J4aQw]: failed to execute [[[facebook]], suggestSource[{"completeMe":{"text":"qui","completion":{"field":"content"}}}]]
RemoteTransportException[[Ego the Living Planet][127.0.0.1:9300][indices:data/read/suggest[s]]]; nested: ElasticsearchException[failed to execute suggest]; nested: ClassCastException[org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType];
Caused by: ElasticsearchException[failed to execute suggest]; nested: ClassCastException[org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType];
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:152)
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:61)
at org.elasticsearch.action.support.broadcast.TransportBroadcastAction$ShardTransportHandler.messageReceived(TransportBroadcastAction.java:268)
at org.elasticsearch.action.support.broadcast.TransportBroadcastAction$ShardTransportHandler.messageReceived(TransportBroadcastAction.java:264)
at org.elasticsearch.transport.TransportService$4.doRun(TransportService.java:350)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType
at org.elasticsearch.search.suggest.completion.CompletionSuggestParser.parse(CompletionSuggestParser.java:105)
at org.elasticsearch.search.suggest.SuggestParseElement.parseInternal(SuggestParseElement.java:94)
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:145)
... 8 more
16948 [elasticsearch[Ego the Living Planet][suggest][T#3]] DEBUG org.elasticsearch.action.suggest - [Ego the Living Planet] [facebook][2], node[dEgugNdOSjiePr9gmltemg], [P], v[36], s[STARTED], a[id=ZH03JW9SRB6rHDYUxvrW6g]: failed to execute [[[facebook]], suggestSource[{"completeMe":{"text":"qui","completion":{"field":"content"}}}]]
RemoteTransportException[[Ego the Living Planet][127.0.0.1:9300][indices:data/read/suggest[s]]]; nested: ElasticsearchException[failed to execute suggest]; nested: ClassCastException[org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType];
Caused by: ElasticsearchException[failed to execute suggest]; nested: ClassCastException[org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType];
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:152)
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:61)
at org.elasticsearch.action.support.broadcast.TransportBroadcastAction$ShardTransportHandler.messageReceived(TransportBroadcastAction.java:268)
at org.elasticsearch.action.support.broadcast.TransportBroadcastAction$ShardTransportHandler.messageReceived(TransportBroadcastAction.java:264)
at org.elasticsearch.transport.TransportService$4.doRun(TransportService.java:350)
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType cannot be cast to org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType
at org.elasticsearch.search.suggest.completion.CompletionSuggestParser.parse(CompletionSuggestParser.java:105)
at org.elasticsearch.search.suggest.SuggestParseElement.parseInternal(SuggestParseElement.java:94)
at org.elasticsearch.action.suggest.TransportSuggestAction.shardOperation(TransportSuggestAction.java:145)
... 8 more
【问题讨论】:
-
为什么
[duplicated]是标题的一部分?
标签: java elasticsearch