返回

提升搜索体验,打造自己的站点搜索引擎

前端

算法驱动的搜索引擎已成主流,用户早已经习惯了Google这种强大的信息检索工具带来的便利性。用户们逐渐形成了只要有需求,就去找搜索引擎的习惯。

如果你的项目是一个内容站点,站点内信息庞杂,用户查找信息需要花费很长时间,很显然,一个站点搜索功能是十分必要的。

站点搜索可以帮助用户更快的找到所需信息,提升用户体验,降低用户流失率,还会间接提升站点的转化率

虽然搜索引擎已经很强大,但如果将搜索功能集成到网站自身,你的站点搜索功能是独一无二的,还能为你的网站增加一个亮点。

目前,市面上有很多提供搜索服务的第三方公司,例如AlgoliaElasticSearchSolr等。这里选择Algolia进行讲解,因为它提供了很好的文档和教程,而且它的易用性很好。

Algolia集成

1. 创建 Algolia 账号

访问 Algolia 官网,创建一个免费账户。创建成功后,你会得到一个APP ID和一个API Key

2. 安装 Algolia 插件

在你所使用的框架中安装 Algolia 插件,例如 Vue 中是vue-algolia,React 中是react-algolia

3. 初始化 Algolia

在你的代码中,初始化 Algolia。

import { InstantSearch } from "vue-algolia";

const searchClient = algoliasearch("APP ID", "API Key");

const instantSearch = new InstantSearch({
  searchClient,
  indexName: "YOUR_INDEX_NAME"
});

instantSearch.start();

4. 创建索引

创建一个索引来存储你的数据。

const index = searchClient.initIndex("YOUR_INDEX_NAME");

index.addObjects([
  {
    objectID: "1",
    title: "My first object",
    content: "This is my first object."
  },
  {
    objectID: "2",
    title: "My second object",
    content: "This is my second object."
  }
]);

5. 添加搜索框

将搜索框添加到你的网站中。

<input v-model="query" @input="search" placeholder="Search" />

6. 添加搜索结果列表

将搜索结果列表添加到你的网站中。

<div v-for="hit in hits" :key="hit.objectID">
  <h1>{{ hit.title }}</h1>
  <p>{{ hit.content }}</p>
</div>

总结

通过以上步骤,你就可以将 Algolia 集成到你的项目中,实现一个属于你自己的站点搜索功能。希望这篇文章能帮助你快速上手 Algolia。