我正在尝试使用Java进行ElasticSearch
import java.util.Date; import java.util.HashMap; import java.util.Map; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.transport.InetSocketTransportAddress; public class EST { public static void main(String[] args){ Client client = new TransportClient() .addTransportAddress(new InetSocketTransportAddress("10.154.12.180", 9200)); Mapjson = new HashMap (); json.put("user","kimchy"); json.put("postDate",new Date()); json.put("message","trying out Elasticsearch"); IndexResponse response = client.prepareIndex("twitter", "tweet") .setSource(json) .execute() .actionGet(); client.close(); } }
并添加了elasticssearch,lucene-core,lucene-queryparser,lucene-analyzers-common和lucene-demo库,运行后我得到NoSuchMethodException
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.util.UnicodeUtil.UTF16toUTF8(Ljava/lang/CharSequence;IILorg/apache/lucene/util/BytesRef;)V at org.elasticsearch.common.Strings.toUTF8Bytes(Strings.java:1529) at org.elasticsearch.common.Strings.toUTF8Bytes(Strings.java:1525) at org.elasticsearch.search.facet.filter.InternalFilterFacet.(InternalFilterFacet.java:40) at org.elasticsearch.search.facet.TransportFacetModule.configure(TransportFacetModule.java:39) at org.elasticsearch.common.inject.AbstractModule.configure(AbstractModule.java:60) at org.elasticsearch.common.inject.spi.Elements$RecordingBinder.install(Elements.java:204) at org.elasticsearch.common.inject.spi.Elements.getElements(Elements.java:85) at org.elasticsearch.common.inject.InjectorShell$Builder.build(InjectorShell.java:130) at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:99) at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93) at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70) at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59) at org.elasticsearch.client.transport.TransportClient. (TransportClient.java:188) at org.elasticsearch.client.transport.TransportClient. (TransportClient.java:118) at estest.EST.main(EST.java:17)
Erik Schmieg.. 6
巧合的是,我刚才遇到了这个问题 - 在谷歌搜索时,我发现了你的问题 - 谷歌的索引确实非常快,只需要6个小时.
以下是修复方法:
import lucene-core-4.9.0.jar(使用maven,gradle或在类路径中删除它)
您使用的版本(可能是4.10)具有不同的方法签名.然而,ES与4.9相关联.
巧合的是,我刚才遇到了这个问题 - 在谷歌搜索时,我发现了你的问题 - 谷歌的索引确实非常快,只需要6个小时.
以下是修复方法:
import lucene-core-4.9.0.jar(使用maven,gradle或在类路径中删除它)
您使用的版本(可能是4.10)具有不同的方法签名.然而,ES与4.9相关联.