1.0.11 • Published 2 months ago

shancy-es v1.0.11

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

Shancy-ES

This package is designed to facilitate bulk indexing operations with Elasticsearch or OpenSearch with type-safety in typescript. (More Elastic search and related utilities are coming soon).

Features

  • Bulk Indexing: Efficiently index large batches of documents into OpenSearch.
  • File Handling: Read and process JSON files from a directory for indexing.
  • Customizable Processing: Allows for custom processing of documents and file lists before indexing.

Installation

npm i shancy-es

Before using the Shancy-ES, ensure you have the following dependencies installed:

  • @opensearch-project/opensearch for OpenSearch client.
import { Client } from "@opensearch-project/opensearch";
import { bulkIndexInBatches } from "shancy-es";

const client = new Client({ node: "http://localhost:9200" });

type IndexDocument = { data: Record<string, any> };
type IndexFile = { doc: IndexDocument, filename: string };

const props = {
  client: client /* OpenSearch client instance */,
  index: "my-index",
  directoryPath: "./data",
  batchSize: 100,
  processDoc: (file: IndexFile) => {
    const data = file.doc.data;
    return {
      data: {
        id: file.filename,
        ...data,
      },
    };
  },
  processList: (data) => data.filter((doc) => true /* filtering logic */),
};

await bulkIndexInBatches(props);

Fancy Spinner

import { spinnerOperation } from "shancy-es";

await spinnerOperation({
  loadingText: "Processing...",
  successText: "Processing complete.",
  operation: async () => {
    // Your async operation here
  },
});

More Utilities Coming Soon

Stay tuned for additional utilities to enhance your Elasticsearch/OpenSearch operations.

1.0.11

2 months ago

1.0.10

2 months ago

1.0.9

2 months ago

1.0.7

2 months ago

1.0.6

2 months ago

1.0.5

2 months ago

1.0.4

2 months ago

1.0.3

2 months ago

1.0.2

2 months ago

1.0.1

2 months ago