如何使用脚本将CSV上传到Algolia

时间:2017-07-09 21:45:25

标签: algolia

我想使用PowerShell脚本上传我的CSV文件。如何才能实现这一目标?

我无法在文档中找到任何内容。如果有什么东西可以在文档中搜索。

https://www.algolia.com/doc/

3 个答案:

答案 0 :(得分:5)

自2018年11月起,您可以使用Algolia CLI轻松地从终端导入JSON或CSV文件:

  • $ npm i -g @algolia/cli
  • $ algolia import -s path/to/your/file.csv -a your_app_id -k your_api_key -n your_index_name

答案 1 :(得分:2)

我想我会发布我的解决方案。只需确保安装了node.js和algolia-csv软件包,然后就可以在PowerShell中运行algolia-upload命令

https://github.com/algolia/algolia-csv-js

NPM Manager(与Node一起打包) https://www.npmjs.com/package/npm

Windows Installer - https://nodejs.org/en/download/

  1. 安装“node-v6.11.1-x64”后,打开“node.js命令” 提示“通过开始菜单申请
  2. 运行以下命令: npm install -g algolia-csv
  3. 现在你可以准备你的命令了。 (CSV文件必须仅在第一行包含标题。)
  4. 选项:algolia-upload $ APP_ID $ API_KEY $ indexName $ file | $ url [-d $ delimiter] [-b $ batchSizer] [--clear-index] [--parse-arrays = $ column]

    必需参数是aplication id,具有写权限的密钥,目标索引名称和输入CSV(本地或可通过http / https访问)。

    其他参数: -d允许您设置文件中使用的分隔符。这应该用引号设置。默认为','。 -b允许您设置批量大小。默认值为10000。 --clear-index强制在上传新数据之前清除索引。 --parse-arrays =让您指定在上传数据之前是否应使用','拆分列值。可以设置多个列。 --geo-colums = latCol,longCol允许你指定两列用于创建特殊的algolia属性_geoloc

    这是我最后使用的命令。

    algolia-upload APPID APIKEY INDEX PATH.csv

答案 2 :(得分:1)

我们目前没有为PowerShell编写的示例,但它将采取的步骤是:

  1. 阅读PowerShell中的csv
  2. 将csv转换为JSON
  3. 使用curl
  4. 推送到API

    但是,通过这条路线,您无法利用Algolia API客户端内置的重试和DSN逻辑。您可以使用API clients中的任何一个来上传数据。

    还有一个节点CSV toolbox,它是一个用于拆分和上传csv文件的CLI。

    您也可以将其作为described here

    上传到信息中心