Skip to content

christopher-l/elastic-ts

 
 

Repository files navigation

✨ elastic-ts

Build Status Status: Alpha npm npm Powered by TypeScript

A TypeScript module for working with Elasticsearch.

Goals

  • Provide TypeScript types for Elasticsearch queries
  • Provide a typed query body builder with an immutable API

Non-goals

  • Replace the official Elasticsearch API client

Requirements

  • TypeScript 2.8 - this project uses conditional types which were introduced in TypeScript 2.8

Installation

yarn add elastic-ts

Usage

Types

import {SearchBody} from 'elastic-ts'

const body: SearchBody = {
  query: {
    match_all: {},
  },
}

Builder

import {esBuilder} from 'elastic-ts'

const body = esBuilder()
  .query('match_all', {})
  .filter('terms', 'field', ['one', 'two'])
  .build()

Credits

The query builder API is heavily inspired by bodybuilder, although there are subtle API and behavioral differences.

License

The MIT license. See LICENSE.

About

TypeScript + Elasticsearch + magic ✨

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.7%
  • JavaScript 0.3%