未找到ElasticSearch Lucene UnicodeUtil

 奥桑黑黑更健康 发布于 2022-12-19 18:16

我正在尝试使用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));

    Map json = 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相关联.

1 个回答
  • 巧合的是,我刚才遇到了这个问题 - 在谷歌搜索时,我发现了你的问题 - 谷歌的索引确实非常快,只需要6个小时.

    以下是修复方法:

    import lucene-core-4.9.0.jar(使用maven,gradle或在类路径中删除它)

    您使用的版本(可能是4.10)具有不同的方法签名.然而,ES与4.9相关联.

    2022-12-19 18:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有