簡體   English   中英

錯誤:java.lang.NoSuchFieldError:LUCENE_5_2_1

[英]Erro: java.lang.NoSuchFieldError: LUCENE_5_2_1

我正在嘗試使用 java API 索引彈性搜索,然后使用該數據在 Kibana 中進行可視化,如下所示:

package elasticSearchTest;

import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import java.net.InetAddress;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.testng.annotations.Test;

public class ES_Test_Class {
  @Test
  public void f() {
  try{
      Client client = TransportClient.builder().build()
               .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));


      IndexResponse response = client.prepareIndex("twitter", "tweet", "1")
                .setSource(jsonBuilder()
                            .startObject()
                                .field("user", "kimchy")
                                .field("postDate", "18/May/2011:01:48:10")
                                .field("message", "trying out Elasticsearch")
                            .endObject()
                          )
                .get();
    // Document ID (generated or not)
      String _id = response.getId();
    // Version (if it's the first time you index this document, you will get: 1)
    long _version = response.getVersion();

    System.out.println("Document id is: "+_id);

    System.out.println("Document version is: "+_version);
      }
      catch (Exception e){
          e.printStackTrace();
      }

  }
}

以下是更新的依賴項:

在此處輸入圖片說明

但是,當我運行代碼時,出現以下錯誤:

[TestNG] 運行:C:\\Users\\vinbhask\\AppData\\Local\\Temp\\testng-eclipse--931338640\\testng-customsuite.xml 2016 年 11 月 4 日晚上 9:03:52 org.elasticsearch.plugins.PluginsService INFO:[ Kismet] 模塊 []、插件 []、站點 [] 失敗:f java.lang.NoSuchFieldError: LUCENE_5_2_1 在 org.elasticsearch.Version.(Version.java:265) 在 org.elasticsearch.client.transport.TransportClient$Builder。 build(TransportClient.java:129) at elasticSearchTest.ES_Test_Class.f(ES_Test_Class.java:17) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun .reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) at org. testng.internal.Invoker.invokeMethod(Invoker.java:714) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at org.testng.internal.Inv oker.invokeTestMethods(Invoker.java:1231) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)

我嘗試使用谷歌搜索解決方案並遇到此鏈接此鏈接,但無法理解如何解決該問題,我什至通過一次添加一個 JAR 來重建項目,但沒有幫助

[更新]:添加 lucene 5.5.2 jar 后出現以下錯誤:

[TestNG] 運行:C:\\Users\\vinbhask\\AppData\\Local\\Temp\\testng-eclipse--545647994\\testng-customsuite.xml 2016 年 11 月 6 日上午 9:18:20 org.elasticsearch.plugins.PluginsService INFO:[ Locus] modules [], plugins [], sites [] FAILED: f java.lang.NoSuchMethodError: org.jboss.netty.channel.socket.nio.NioWorkerPool.(Ljava/util/concurrent/Executor;I)V at org .elasticsearch.transport.netty.NettyTransport.createClientBootstrap(NettyTransport.java:354) 在 org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:290) 在 org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.start(AbstractLifecycleComponent) .java:68) 在 org.elasticsearch.transport.TransportService.doStart(TransportService.java:182) 在 org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68) 在 org.elasticsearch.client.transport。 TransportClient$Builder.build(TransportClient.java:162) at elasticSearchTest.ES_Test_Class.f(ES_Test_Class.java:17) at sun.reflect.NativeMeth odAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method. java:497) 在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)

您使用的是 Lucene 4.10.4,但 Elasticsearch 2.4.1 基於 Lucene 5.5.2。 升級您的 Lucene 版本(此處為 5.5.2 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM