Ala*_*ght 4 java elasticsearch
我正在尝试在Java Web Service中搜索Elastic Search,这是我现在使用的方法:
Client client = new PreBuiltTransportClient(Settings.EMPTY).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.10.150"), 9200));
SearchResponse searchResponse = client.prepareSearch().execute().actionGet();
Run Code Online (Sandbox Code Playgroud)
第一行可以正常工作,但当它转到第二行时,将发生下面的异常:
NoNodeAvailableException [没有配置的节点可用:[{#transport#-1} {TskPSVeBRR6CvCzP9EVhkQ} {192.168.10.150} {192.168.10.150:9200}]]
无论我使用9200或9300设置端口,结果都是一样的.
此外,我试图使用NEST从我的.Net程序中搜索,它运行得很好.这是我尝试的方式:
var node = new Uri("http://192.168.10.150:9200");
var settings = new ConnectionSettings(node).DefaultIndex("iod-2017.03.08.*");
_EsClient = new ElasticClient(settings);
var index = String.Format("iod-{0}.{1:00}.{2:00}.*", item.TriggerTime.Year, item.TriggerTime.Month, item.TriggerTime.Day);
var uniqueId = item.UniqueId.ToString();
var result = _EsClient.Search<logs>(s => s.Index(index).Query(q => q.Match(t => t.Field(l => l.id).Query(uniqueId))));
Run Code Online (Sandbox Code Playgroud)
我的Java程序是否有任何错误(防火墙,库的版本,调用API的方法等)?我目前的Java版本是1.8.0.121,Elastic Search和Transport Client的版本都是5.2.谢谢!
如评论中所述,
如果您使用的是除弹性搜索之外的群集名称,则需要在设置中更新相同的名称.
Settings settings = Settings.builder()
.put("cluster.name", "myClusterName").build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12748 次 |
| 最近记录: |