algolia-csv

1.3.0 • Public • Published

Algolia CSV toolbox

What is this project about?

It's a CLI and library to easily upload CSV files to Algolia in an efficient manner without limitations.

Cool features:

  • uses the header (first line of the csv file) to set the name of the columns
  • automatically detects the types of the fields
  • adds an objectID automatically if not set (useful for public datasets)
  • uses batch best practices to upload to Algolia
  • based on streams

Installation / usage

Requirements

  • Node + npm
  • an algolia account and and API key that can upload (not the search API key)

CLI

npm install -g algolia-csv

You must have a file in which the first row contains the name of all the fields.

algolia-upload $APP_ID $API_KEY $indexName $file|$url [-d $delimiter] [-b $batchSizer] [--clear-index] [--parse-arrays=$column] [--array-delimiter=$delimiter] [--geo-columns=$latCol,$longCol]

Mandatory parameters are the aplication id, a key with write rights, the target index name and the input CSV (locally or accessible with http/https).

Other parameters:

  • -d let you set the delimiter used in your file. This should be set in quotes. Default is ','.
  • -b let you set the batch size. Default is 10000.
  • --clear-index forces the index to be cleared before uploading the new data.
  • --parse-arrays=column let you specify if a column value should be split before uploading the data. More than one column can be set using this parameter multiple times. Value will be split with --array-delimiter.
  • --array-delimiter let you specify the delimiter used to split the values of columns defined with --parse-arrays. Default is ','.
  • --geo-columns=latCol,longCol let you specify two columns that are to be used for creating the special algolia attribute _geoloc.

As a library

npm install --save algolia-csv
var algoliaCsvTools = require('algolia-csv');
 
algoliaCsvTools.upload({
  appId: '',
  apiKey: '',
  indexName: '',
  inputFile: '',
  batchSize: 1000,
  delimiter: ',',
  clearIndex: false,
  parseArrays: ['column'],
  arrayDelimiter: '|',
  geoColumns: {lat: 'latCol', 'lng': 'longColumn'}
});

/algolia-csv/

    Package Sidebar

    Install

    npm i algolia-csv

    Weekly Downloads

    2

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    7.73 kB

    Total Files

    8

    Last publish

    Collaborators

    • lukyvj
    • marielaure
    • ejaldorau
    • haroenv
    • rayrutjes
    • jerska
    • samouss
    • therealwebby
    • francoischalifour
    • jonmontane
    • tkrugg
    • seafoox
    • sylvainh
    • lorrissaintgenez
    • broujo
    • e-krebs
    • kombucha
    • sylvain
    • crawler-team
    • amcdaid106
    • devinalgolia
    • jvenezia
    • otomatik
    • sarahdayan
    • maximehuang
    • guitek
    • matthewbond
    • shaejaz
    • cyril.descossy
    • tatsuro
    • mathougui
    • xavdh
    • agdavid
    • rasemotte
    • plnech
    • shortcuts
    • praagyajoshi
    • alphonseb
    • leodau
    • fabienmotte
    • sarahfranc
    • millotp
    • daltondickalgolia
    • dhaya.b
    • bengreenbank
    • algabet
    • alg-bgastinne
    • emmanuel.fortin
    • dylantientcheu
    • andy_ds
    • robertmogos
    • jcohonner-algolia
    • catalgolia
    • raed-algolia
    • aymeric.giraudet
    • pjankowski5312
    • valentindotxyz
    • eventexperiences_algolia
    • taylorcjohnson_algolia
    • sfaiqh
    • instantsearch-bot
    • fluf
    • leviwhalen
    • abodelot
    • mprevell97
    • jkaho
    • antoine.gilles
    • wwalser
    • bhinchley-algolia
    • louishousiaux
    • jsok_algolia
    • alg-admin
    • hugowit
    • drodriguln
    • scyganek-algolia
    • jasonberry
    • bhcastle
    • gavinwade12
    • algthomasbritton
    • fernando_beck_algolia
    • vascobettencourt
    • mariaaalungu
    • cdhawke-algolia
    • felipe-bernal
    • morgan-algolia2
    • julia-francais
    • jcalgo
    • aallam.alg
    • arlnbrln
    • minjaslavkovic
    • cmarguta-algolia
    • harsharora-algolia
    • bobylito