algolia-index-transform

A selection of methods to transform an exisiting index using map, reduce or filter and push to a brand new index.

Usage no npm install needed!

<script type="module">
  import algoliaIndexTransform from 'https://cdn.skypack.dev/algolia-index-transform';
</script>

README

Algolia Index Transform

A selection of methods to transform an index using map, reduce or filter. and push to a brand new index.

Install

Node Using NPM

npm install algolia-index-transform

Node Using yarn

yarn add algolia-index-transform

Set Up

Once installed, you will need to initalize the Algolia Index Transform as below. Each property is required.

const AlgoliaIndexTransform = require('algolia-index-transform');

const algoliaIndexTransform = new AlgoliaIndexTransform({
  sourceApplicationID: 'xxxxxxxxxx',
  sourceApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  sourceIndexName: 'an existing index',
  destinationApplicationID: 'xxxxxxxxxx',
  destinationApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  destinationIndexName: 'a new index',
  limit: 20000,
  requestOptions: {
    attributesToRetrieve: ['*']
  },
  copySettings: false
});

Setting properties

Paramater Type Description
sourceApplicationID String The Application ID where the current index resides
sourceApiKey String The API Key for the app where the current index resides
sourceIndexName String The index name of the current index
destinationApplicationID String The Application ID of where you would like to add the index
destinationApiKey String The API Key for the new index
destinationIndexName String The new index name
limit (Optional) Number Optional: Limit the amount of records to transfer
requestOptions (Optional) Object Optional: Object containing request options for browseAll
copySettings (Optional) Boolean Optional: Copy destination settings with the transformation

Usage

Copy

algoliaIndexTransform.copy();

Map

algoliaIndexTransform.map(item => ({
  id: item.id
}));

Filter

algoliaIndexTransform.filter(item => item.popular === true);

Reduce

algoliaIndexTransform.reduce((acc, cur) => acc + cur);