我正在將代碼從彈性 5 遷移到 7
pom 中的彈性依賴:
<elastic.version>7.12.1</elastic.version>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elastic.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elastic.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elastic.version}</version>
</dependency>
客戶端初始化看起來像這樣:
val settings = Settings.builder()
.put("cluster.name", cluster)
.put("client.transport.sniff", true)
.build()
val clientBase:TransportClient = new PreBuiltTransportClient(settings)
val client = hosts.foldLeft(clientBase)((c,h) =>
c.addTransportAddress(new TransportAddress(InetAddress.getByName(h), port))
)
運行代碼時出現以下錯誤:
Caused by: java.lang.IllegalStateException: Unsupported transport.type [netty4]
at org.elasticsearch.common.network.NetworkModule.getTransportSupplier(NetworkModule.java:201)
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:186)
at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:282)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:119)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:105)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:95)
請建議如何修復它
uj5u.com熱心網友回復:
看起來您需要添加transport-netty4-client為依賴項,請參閱此答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398107.html
