JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14
  • Score
    100M100P100Q53249F
  • License MIT

Extended Algolia search plugin for Medusa

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 (medusa-plugin-algolia-extended) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Algolia

    Provide powerful indexing and searching features in your commerce application with Algolia.

    Medusa Website | Medusa Repository

    Features

    • Flexible configurations for specifying searchable and retrievable attributes.
    • Remove draft products from Algolia index
    • Utilize Algolia's powerful search functionalities including typo-tolerance, query suggestions, results ranking, and more.
    • Access Medusa container inside the transfomer function for unlimited possibilities
    • Additional logging, for instance how many documents are sent to Algolia for indexing

    Prerequisites


    How to Install

    1. Run the following command in the directory of the Medusa backend:

    npm install medusa-plugin-algolia-extended

    2. Set the following environment variables in .env:

    ALGOLIA_APP_ID=<YOUR_APP_ID>
    ALGOLIA_ADMIN_API_KEY=<YOUR_ADMIN_API_KEY>

    3. In medusa-config.js add the following at the end of the plugins array:

    const plugins = [
    // ...
    {
      resolve: `medusa-plugin-algolia`,
      options: {
        applicationId: process.env.ALGOLIA_APP_ID,
        adminApiKey: process.env.ALGOLIA_ADMIN_API_KEY,
        settings: {
          products: {
            indexSettings: {
              searchableAttributes: ["title", "description"],
              attributesToRetrieve: [
                "id",
                "title",
                "description",
                "handle",
                "thumbnail",
                "variants",
                "variant_sku",
                "options",
                "collection_title",
                "collection_handle",
                "images",
              ],
            },
            transformer: async (product, container) => ({
              objectID: product.id,
              // other attributes...
            }),
          },
        },
      },
    },
    ]

    Test the Plugin

    1. Run the following command in the directory of the Medusa backend to run the backend:

    npm run start

    Additional Resources