跳到主要内容

hexo如何配置Algolia

hexo如何配置Algolia==(测试失败)==

gpt

2023年11月17日

要在 Hexo 中配置 Algolia,您可以按照以下步骤进行操作。Algolia 是一个搜索引擎服务,可以用于在您的 Hexo 博客中添加强大的搜索功能。

1. 创建 Algolia 账户:

首先,您需要在 Algolia 官方网站 上注册并创建一个账户。在注册后,您将能够获取 Algolia 应用的 API 密钥。

2. 安装 Hexo Algolia 插件:

Hexo Algolia 插件是一个用于集成 Algolia 搜索的 Hexo 插件。执行以下命令安装它:

npm install hexo-algoliasearch --save

3. 配置 Algolia 插件:

在 Hexo 项目的 _config.yml 文件中添加 Algolia 插件的配置:

yaml# _config.yml

algolia:
applicationID: 'YOUR_ALGOLIA_APP_ID'
apiKey: 'YOUR_ALGOLIA_API_KEY'
indexName: 'YOUR_INDEX_NAME'
chunkSize: 5000 # Adjust this value based on your content size
fields:
- title
- content
- url

确保替换 'YOUR_ALGOLIA_APP_ID''YOUR_ALGOLIA_API_KEY''YOUR_INDEX_NAME' 分别为您的 Algolia 应用的应用 ID、API 密钥和索引名称。

algolia:
applicationID: 'VOYLUXPB3H'
apiKey: '56b63583390b4452047d636fed68038b'
indexName: 'hexo'
chunkSize: 5000 # Adjust this value based on your content size
fields:
- title
- content
- url

4. 生成并上传索引:

执行以下命令以生成索引并将其上传到 Algolia:

hexo algolia

这将生成索引并将其上传到 Algolia。您可以在 Algolia 控制台上查看和管理索引。

5. 在博客中添加搜索框:

在您的 Hexo 主题中,确保有一个搜索框,以便用户输入搜索查询。这通常是通过主题的布局文件实现的,具体取决于您使用的主题。

6. 部署博客:

最后,重新生成并部署您的 Hexo 博客:

hexo generate
hexo deploy

确保您的博客已经部署,并访问您的博客网站,测试 Algolia 搜索功能是否正常工作。

这样,您就成功地在 Hexo 博客中集成了 Algolia 搜索功能。请注意,Algolia 提供了丰富的定制选项,您可以根据需要调整配置以满足特定的搜索需求。

报错了:

image-20231117151247916

image-20231117151235673

INFO  Error has occurred during clearing index : TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "x-algolia-api-key" FATAL { err: TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "x-algolia-api-key" at ClientRequest.setHeader (node:_http_outgoing:655:3) at new ClientRequest (node:_http_client:286:14) at Object.request (node:https:378:10) at D:\hexo\node_modules@algolia\requester-node-http\dist\requester-node-http.cjs.js:33:72 at new Promise (<anonymous>) at Object.send (D:\hexo\node_modules@algolia\requester-node-http\dist\requester-node-http.cjs.js:18:20) at retry (D:\hexo\node_modules@algolia\transporter\dist\transporter.cjs.js:222:38) at D:\hexo\node_modules@algolia\transporter\dist\transporter.cjs.js:235:16 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { code: 'ERR_HTTP_INVALID_HEADER_VALUE' } } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html


错误信息表明在清除索引时发生了问题,特别是在设置请求头 "x-algolia-api-key" 时遇到了无效的值 "undefined"。这通常是由于未正确配置 Algolia API 密钥引起的。

以下是解决问题的一些建议:

  1. 检查 Hexo Algolia 插件配置

    • 确保您在 Hexo 项目的 _config.yml 文件中正确配置了 Algolia 插件的 API 密钥。
    • 检查 apiKey 字段是否被正确设置为您在 Algolia 控制台中生成的 API 密钥。
yaml# _config.yml

algolia:
applicationID: 'YOUR_ALGOLIA_APP_ID'
apiKey: 'YOUR_ALGOLIA_API_KEY'
indexName: 'YOUR_INDEX_NAME'
chunkSize: 5000
fields:
- title
- content
- url

确保 'YOUR_ALGOLIA_API_KEY' 已经被替换为您的实际 API 密钥。

  1. 检查 Algolia 应用和索引配置
    • 确保您在 Algolia 控制台中创建了一个应用,并且已经设置了正确的索引名称。
    • 检查 Algolia 控制台上的应用设置,确保与 Hexo Algolia 插件中的配置相匹配。
  2. 检查网络连接
    • 确保您的网络连接正常,以便 Hexo 插件能够成功连接到 Algolia 服务器。
  3. 查看文档和错误信息

如果以上步骤没有解决问题,您可能需要详细查看插件文档或 Algolia 的错误日志以获取更多信息。

测试失败

还是不行,测试失败。。。

先这样吧,搁置。(2023年11月19日)

image-20231117152551276

参考文章

https://cloud.tencent.com/developer/article/1934219

image-20231117152615543

https://blog.csdn.net/mulianju/article/details/129550258

image-20231117152634006