JSPM

  • Created
  • Published
  • Downloads 364
  • Score
    100M100P100Q94474F
  • License MIT

Index articles configured to Algolia

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (strapi-plugin-strapi-algolia) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Strapi plugin strapi-algolia

    A strapi plugin to sync your strapi content with Algolia.

    npm package version npm package daily downloads github stars github issues main workflow

    Getting started

    1. Installation

    With Yarn

    yarn add strapi-plugin-strapi-algolia
    With NPM
    npm install --save strapi-plugin-strapi-algolia

    2. Setup environment variables

    ALGOLIA_ADMIN_KEY=your_algolia_app_id
    ALGOLIA_APP_ID=your_algolia_api_key

    3. Configure the plugin

    In Javascript

    Add the following code to ./config/plugins.js

    'use strict';
    
    module.exports = ({ env }) => ({
      // ...
      'strapi-algolia': {
        enabled: true,
        config: {
          apiKey: env('ALGOLIA_ADMIN_KEY'),
          applicationId: env('ALGOLIA_APP_ID'),
          contentTypes: [
            { name: 'api::article.article' },
            // ...
          ],
        },
      },
    });

    In Typescript

    Add the following code to ./config/plugins.ts

    export default ({ env }) => ({
      // ...
      'strapi-algolia': {
        enabled: true,
        config: {
          apiKey: env('ALGOLIA_ADMIN_KEY'),
          applicationId: env('ALGOLIA_APP_ID'),
          contentTypes: [
            { name: 'api::article.article' },
            // ...
          ],
        },
      },
    });

    All configurations options

    Property Description Type Default value
    applicationId Algolia application ID string (required)
    apiKey Algolia API Key string (required)
    indexPrefix Prefix for the Algolia index string `${strapi.config.environment}_`
    contentTypes Array of content types needed to be indexed Array<object> (required)
    contentTypes.name Name of the content type string (required)
    contentTypes.index Algolia index for the current content type string
    contentTypes.idPrefix Prefix for the item id string
    contentTypes.populate Which fields needed to be indexed on Algolia, by default all the properties are indexed object '*' = All fields

    UI

    For each content type configured in the plugin, a new button will be added to the content type list. This button will allow you to index all the content of the content type.

    Capture d’écran 2024-04-04 à 15 14 50

    Endpoints

    Index all the content of a content-type

    Call the following endpoint /strapi-algolia/index-all-articles with POST method.

    The body must be like this:

    {
      "name": "api::article.article"
    }

    You must be admin and add an authorization bearer token in the header.

    Authorization: Bearer YOUR_TOKEN
    Example with curl:
    curl --request POST \
      --url https://YOUR_STRAPI_INSTANCE/strapi-algolia/index-all-articles \
      --header 'Authorization: Bearer YOUR_TOKEN' \
      --header 'Content-Type: application/json' \
      --data '{
        "name": "api::article.article"
    }'