Angular-CLI Elasticsearch 和 Webpack

Angular-CLI Elasticsearch and Webpack

我正在尝试弄清楚如何使用 Elasticsearch 5x 配置我的 Angular(4) 应用程序。

我使用了angular-cli来初始化项目,然后我...

安装了类型 (npm install @types/elasticsearch --save) 和 js 客户端 (npm install elasticsearch --save)

现在我想知道如何连接它们...我如何告诉它加载 elasticsearch.angular.js?以及如何将 ES 服务器与 Angular 4 连接?

在AngularJS(1.x)中,比较简单...

创建服务:

    angular.module('searchapp.search-service', [])
    .constant(' BASE_URL', 'localhost:9200')
    .service('searchService', ['$q', '$sce', 'esFactory', function($q, $sce, esFactory) {
  var esClient = esFactory({
    location: 'BASE_URL',
    apiVersion: '1.5'
  });

然后您只需使用 esClient 与所有 ES API 方法进行交互。

this.search = function(query) {
var deferred = $q.defer();

esClient.search({...

所以在我安装了它们的类型和 ES 客户端之后,我如何将 ES 服务器与 Angular 4 连接并创建一个服务来与 ES js api 交互?

你已经安装了这个库,所以现在你只需要将它导入到你想要实现它的相应 component/service 中。

所以:

import { Client } from "elasticsearch";

然后在您的代码中:

let elasticClient: Client = new Client({
        host: 'myhost.com',
        log: 'trace'
    });

你可以在这个问题上看到更多关于这个的细节: https://github.com/elastic/elasticsearch-js/issues/452