私は弾性検索の概念にはとても新しいです。私は、弾性検索を使用して簡単なアプリケーションを構築しようとしています。ノードがありませんElastic Searchの例外があります
public class App
{
public static void main(String[] args)
{
try {
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
ElasticOperations.addDocToIndex(client, ElasticUtility.getJsonMap("Sandesha", "male", "[email protected]", "Hassan"));
System.out.println("Doc added");
client.close();
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
しかし、このプログラムを実行しようとしたとき、私はNoNodeAvailableException
を取得しています。
スレッド "メイン" NoNodeAvailableExceptionの例外:ORGで[構成のノードのどれが利用できない[{#輸送#-1} {w1bSLAN-TFWUHE1PA3qDeQ} {ローカルホスト} {127.0.0.1:9300}]] .elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:347) at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:245) at org.elasticsearch.client.transport.TransportProxyClient.execute (TransportProxyClient.java:59) at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:363) at org.elasticsearch.client.support.AbstractClient.execute(Abst com.sandesha.elasticsearchでorg.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:54) でorg.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:80) でractClient.java:408) 。 Elastic.ElasticOperations.addDocToIndex(ElasticOperations.java:11)com.sandesha.elasticsearch.Elastic.App.main(App.java:27)で
私はこの問題を解決してください。 私ElasticOperations
クラスは、
public class ElasticOperations {
public static void addDocToIndex(TransportClient client, Map<String,Object> jsonMap)
{
client.prepareIndex("customers", "personal").setSource(jsonMap).execute().actionGet();
}
}
され、
public class ElasticUtility {
public static Map<String, Object> getJsonMap(String name, String gender, String email, String city)
{
Map<String,Object> jsonMap = new HashMap<String, Object>();
jsonMap.put("name", name);
jsonMap.put("gender", gender);
jsonMap.put("email", email);
jsonMap.put("city", city);
return jsonMap;
}
}
ありがとう、のように私のElasticUtility
クラスが見えます。
端末から弾性に接続するかセンスを使用できますか? – sourabh1024
私はターミナル経由で接続できます。ポート9200で動作します –