Skip to content

6.6 Search builder class #72

@margaretjgu

Description

@margaretjgu

Size: M

Description:
Implement fluent Search builder class.

Implementation:

export function Search(index?: string): SearchBuilder

class SearchBuilder {
  index(name: string): SearchBuilder
  query(q: Query): SearchBuilder
  aggs(...aggs: Agg[]): SearchBuilder
  sort(...fields: SortField[]): SearchBuilder
  size(n: number): SearchBuilder
  from(n: number): SearchBuilder
  source(fields: string[] | boolean): SearchBuilder
  
  toJSON(): SearchRequest
}

Acceptance:

  • Fluent API works
  • Search().query(Q.match(...)).size(10).toJSON() returns valid request
  • All search options supported
  • Immutable chaining
  • Unit tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions