Netlify:无法索引到阿尔戈利亚

时间:2020-07-17 21:41:31

标签: gatsby algolia netlify

我正在尝试通过Netlify部署Gatsby网站。我在Netlify上定义了与Algolia有关的以下环境变量:

  • ALGOLIA_ADMIN_KEY
  • ALGOLIA_INDEX_NAME
  • GATSBY_ALGOLIA_APP_ID
  • GATSBY_ALGOLIA_SEARCH_KEY

并已按照以下步骤在gatsby-config.js文件中配置了插件:

const myQuery = `{
        allContentfulArticle{
          edges{
            node{
              title
              articleBody{
                json
              }
            }
          }
        }
      

}`
const queries = [
    {
        query: myQuery,
        transformer: ({ data }) => data.allContentfulArticle.edges.map(({ node }) => node), // optional
        // Array<String> overrides main match fields, optional
    },
    require('./src/utils/algolia'),
];


    resolve: `gatsby-plugin-algolia`,

        options: {
            appId: process.env.GATSBY_ALGOLIA_APP_ID,
            apiKey: process.env.ALGOLIA_ADMIN_KEY,
            indexName: process.env.ALGOLIA_INDEX_NAME,
            queries,
            chunkSize: 10000, // default: 1000
        },

我在.env文件中将环境变量定义为:

 GATSBY_ALGOLIA_APP_ID=***APP ID HERE***
 GATSBY_ALGOLIA_SEARCH_KEY=***SEARCH KEY HERE***
 ALGOLIA_ADMIN_KEY=***ADMIN KEY HERE***
 ALGOLIA_INDEX_NAME=Articles
 CONTENTFUL_ACCESS_TOKEN=***ACCESS TOKEN HERE***
 CONTENTFUL_SPACE_ID=***SPACE ID HERE***

这是try-catch函数,通过该函数我可以与Algolia一起获取我的文章:

require('dotenv').config();
(async () => {
    const algoliasearch = require('algoliasearch')
    const { createClient } = require('contentful')


    const GATSBY_ALGOLIA_APP_ID = process.env.GATSBY_ALGOLIA_APP_ID
    const ALGOLIA_ADMIN_KEY = process.env.ALGOLIA_ADMIN_KEY
    const ALGOLIA_INDEX_NAME = process.env.ALGOLIA_INDEX_NAME

    const space = process.env.CONTENTFUL_SPACE_ID
    const accessToken = process.env.CONTENTFUL_ACCESS_TOKEN

    const algoliaClient = algoliasearch(GATSBY_ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY)
    const algoliaIndex = algoliaClient.initIndex(ALGOLIA_INDEX_NAME)

    const ctfClient = createClient({
        space,
        accessToken,
    })

    try {
        const { items } = await ctfClient.getEntries({
            content_type: 'blogPost',
            limit: 1000,
        })

        const posts = items.map((post) => ({
            slug: post.fields.slug,
            title: post.fields.title,
            publishedDate: post.fields.publishedDate,
            objectID: post.sys.id

        }))

        const indexedContent = await algoliaIndex.saveObjects(posts, true)

        console.log('Indexed Content:', indexedContent)

    }
    catch (err) {
        console.error(err)
    }
})()

清除缓存后尝试部署网站时,我得到以下信息:

12:22:01 PM: Fetch Contentful data: 249.081ms
12:22:04 PM: success source and transform nodes - 2.765s
12:22:05 PM: success building schema - 0.907s
12:22:05 PM: success createPages - 0.070s
12:22:05 PM: success createPagesStatefully - 0.104s
12:22:05 PM: success updating schema - 0.042s
12:22:05 PM: success onPreExtractQueries - 0.002s
12:22:06 PM: success extract queries from components - 0.763s
12:22:06 PM: success write out redirect data - 0.002s
12:22:06 PM: success Build manifest and related icons - 0.217s
12:22:06 PM: success onPostBootstrap - 0.219s
12:22:06 PM: info bootstrap finished - 10.147s
12:22:06 PM: success run static queries - 0.034s - 10/10 295.41/s
12:22:06 PM: success run page queries - 0.076s - 18/18 235.88/s
12:22:06 PM: success write out requires - 0.005s
12:23:15 PM: success Building production JavaScript and CSS bundles - 68.334s
12:23:15 PM: success Rewriting compilation hashes - 0.002s
12:23:25 PM: { allContentfulArticle: { edges: [ [Object], [Object] ] } }
12:23:25 PM: { allContentfulCommercialServices: { edges: [ [Object], [Object] ] } }
12:23:25 PM: { allContentfulNewConstructionServices: { edges: [ [Object] ] } }
12:23:25 PM: {
12:23:25 PM:   allContentfulResidentialServices: { edges: [ [Object], [Object], [Object] ] }
12:23:25 PM: }
12:23:25 PM: {
12:23:25 PM:   allContentfulResidentialServices: { edges: [ [Object], [Object], [Object] ] },
12:23:25 PM:   allContentfulCommercialServices: { edges: [ [Object], [Object] ] }
12:23:25 PM: }
12:23:25 PM: success Building static HTML for pages - 10.065s - 18/18 1.79/s
12:23:25 PM: Algolia: 2 queries to index
12:23:25 PM: error failed to index to Algolia. You did not give "query" to this query
12:23:25 PM: not finished onPostBuild - 0.260s
12:23:26 PM: Skipping functions preparation step: no functions directory set
12:23:26 PM: Caching artifacts
12:23:26 PM: Started saving node modules
12:23:26 PM: Finished saving node modules
12:23:26 PM: Started saving pip cache
12:23:26 PM: Finished saving pip cache
12:23:26 PM: Started saving emacs cask dependencies
12:23:26 PM: Finished saving emacs cask dependencies
12:23:26 PM: Started saving maven dependencies
12:23:26 PM: Finished saving maven dependencies
12:23:26 PM: Started saving boot dependencies
12:23:26 PM: Finished saving boot dependencies
12:23:26 PM: Started saving go dependencies
12:23:27 PM: Finished saving go dependencies
12:23:44 PM: Cached ruby version 2.7.1
12:23:44 PM: Error running command: Build script returned non-zero exit code: 1
12:23:44 PM: Failing build: Failed to build site
12:23:44 PM: failed during stage 'building site': Build script returned non-zero exit code: 1
12:23:44 PM: Finished processing build request in 4m25.658540703s

我假设构建脚本返回错误的原因是:

error failed to index to Algolia. You did not give "query" to this query

我很难理解此错误消息具体指的是什么。任何帮助将不胜感激。

0 个答案:

没有答案