angular 2应用程序中的elasticsearch api

0 api elasticsearch logstash angular-cli

我不确定,如何在 angular 应用程序的以下链接中使用 elasticsearch API avaialble。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html

我已经完成了下面的使用弹性搜索服务。但是对于其他功能,如多字段搜索、条件搜索、第一页和最后一页的分页,我不知道如何继续。

http://javasampleapproach.com/frontend/angular/angular-4-elasticsearch-example-quick-start-how-to-add-elasticsearch-js#comment-3537

请分享任何链接或指导我在 angular cli(angular 2)应用程序中使用弹性搜索。

Par*_*iya 5

还有一个 javascript 客户端可用。 https://www.npmjs.com/package/elasticsearch

npm install elasticsearch --save
Run Code Online (Sandbox Code Playgroud)

它的类型可以从 absoluteTypes 中获得

npm install @types/elasticsearch --save
Run Code Online (Sandbox Code Playgroud)

然后你可以直接在你的角度应用程序中使用

示例:创建 ElasticSearch 客户端

...
import { Client } from 'elasticsearch';
...
 this.esClient = new Client({
      host: 'elastic-url'
    });
...
Run Code Online (Sandbox Code Playgroud)

一切都在官方客户端中 对于分页、条件搜索等功能,您必须在通过之前正确构建查询。

示例查询:

{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
              "param2": "HUMAN"
          }
        },{
          "match": {
            "param1": "param1"
          }
        }
      ]
    }
  }
Run Code Online (Sandbox Code Playgroud)

示例用法:

 client.search({
        index: 'masterindex',
        body: {
          "size":0,
          "query": esQuery,
          "aggs": aggOBj
        }
      },(error, response)=> {})
Run Code Online (Sandbox Code Playgroud)