当前位置: 首页 > 知识库问答 >
问题:

弹性搜索中无节点可用异常

仲俊豪
2023-03-14

我对弹性搜索概念非常陌生。我试图建立一个简单的应用程序使用弹性搜索。

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", "jsandesh08@gmail.com", "Hassan"));
        System.out.println("Doc added");
        client.close();
    } catch (UnknownHostException e) {

        e.printStackTrace();
    }

}
}
public class ElasticOperations {

public static void addDocToIndex(TransportClient client, Map<String,Object> jsonMap)
{
    client.prepareIndex("customers", "personal").setSource(jsonMap).execute().actionGet();
}

}

我的ElasticUtility类看起来像,

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;
}
}

谢谢你。

共有1个答案

傅博容
2023-03-14

我想您的群集名称不匹配。如果集群名称不是“ElasticSearch”,这可能是问题所在。

在浏览器中转到http://localhost:9200,获取集群名称。然后,尝试将集群名称属性添加到TransportClient,如下所示:

Settings settings = Settings.builder()
                            .put("cluster.name", "elasticsearch_foo").build();
TransportClient client = new PreBuiltTransportClient(settings)
                         .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
 类似资料:
  • 由于已经有很多关于连字符的问题,我已经尝试了以下解决方案: 使用字符筛选器:ElasticSearch-在名称中使用连字符进行搜索。 所以我做了这个映射: 所以char筛选器似乎没有在搜索字符串上执行?我该怎么做才能让它起作用?

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。

  • 当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa

  • 我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?

  • 我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢

  • 我无法设置弹性服务器群集,因为我收到“Master not discovered Exception” 我的配置是 主控 客户 当我们从客户endpoint击curl'localhost:9200/_cat/master?v'时,它显示master not discovered异常。 任何帮助都是非常感谢的。 原木 Elasticsearch.service-Elasticsearch已加载:已加