如何使用angular在弹性搜索中动态设置esFactory主机地址?

时间:2016-11-03 05:31:48

标签: angularjs elasticsearch

我创建了一个json,它具有我的主机地址的键值对。我需要将客户端主机设置为JSON中提到的值吗?

app.service('client', function (esFactory) {     
    return client = esFactory({ 
        host: 'http://192.168.1.76:9200'
    }); 
});

想要成为主持人:'要从属性/ JSON文件中读取的值。

2 个答案:

答案 0 :(得分:1)

最后,我找到了另一种解决方案。由于我的意图是从属性文件或JSON文件更新配置详细信息,我以另一种方式完成相同的操作。除了使用http调用调用JSON /属性文件之外,我通过使用脚本标记导入在我的应用程序中静态维护JSON在我的HTML中。我在使用http调用时遇到的问题是时间延迟。在完成对JSON读取的ajax调用并从JSON获取内容之前,主机将默认分配给localhost地址。因此,当我们在html页面中的脚本标记中提及JSON文件时,它将在DOM创建时加载,然后我们可以访问JSON中的数据。

答案 1 :(得分:0)

你可以这样使用

app.factory('elasticClient', ['esFactory', function (esFactory) {
    return esFactory({
        host: 'http://localhost:9200',
        sniffOnStart: true,
        sniffInterval: 300000
    });
}]);

请检查AngularJS-ElasticSearch