在 medusajs 后端存储中安装 algolia 插件,出现错误

问题描述 投票:0回答:1

我正在尝试使用此链接上的文档在 medusajs 中安装 algolia 搜索https://docs.medusajs.com/plugins/search/algolia

我通过以下命令安装了插件

npm install medusa-plugin-algolia
在 .env 中输入 api 密钥

下面是配置,我正在使用(如文档中给出)

  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",
          ],
          },
        },
      },
    },
  },
];

但是我在运行时在终端中收到以下错误 - npx medusadevelopment

info:    Processing SEARCH_INDEX_EVENT which has 1 subscribers error:   An error occurred while processing SEARCH_INDEX_EVENT: [object Object]

即使在 algolia 上,我也没有得到我应该得到的记录 索引正在创建“产品”,但记录没有通过 API 上传到 algolia algolia no records image

也在邮递员上验证插件时,我没有得到所需的结果,它是空的

postman result

请告诉我插件中应该使用什么配置,以便API能够将所有记录上传到algolia

plugins algolia medusajs
1个回答
0
投票

您的索引器似乎无法正确解析该对象。

transformer:一个可选函数,接受产品作为 参数并返回要索引的对象。这让您可以拥有 更好地控制您要索引的内容。例如,您可以添加 与变体或自定义关系相关的详细信息,或者您可以过滤掉 某些产品。

const plugins = [
  {
    resolve: `medusa-plugin-algolia`,
    options: {
      applicationId: process.env.ALGOLIA_APP_ID,
      adminApiKey: process.env.ALGOLIA_ADMIN_API_KEY,
      settings: {
        indexName: {
          indexSettings: {
            searchableAttributes: ["title", "description"],
            attributesToRetrieve: [
              "id",
              "title",
              "description",
              "handle",
              "thumbnail",
              "variants",
              "variant_sku",
              "options",
              "collection_title",
              "collection_handle",
              "images",
            ],
          },
        transformer: (product) => ({ 
          objectID: product.id, 
          // other attributes...
        }),
      },
    },
    },
  },
]
© www.soinside.com 2019 - 2024. All rights reserved.