文档目录
从这里开始
接入指南
整理数据导入数据至卡拉搜索导入数据管理索引数据安全

整理和导入数据

导入数据至卡拉搜索

在开始为你的用户提供搜索服务前,你需要将数据传至卡拉搜索。这是因为我们的引擎并不能直接连接你的数据库,而需要你将数据传至卡拉搜索后,通过我们的服务器上为你的用户提供搜索服务。

这样一来,你可以省掉维护搜索服务器的麻烦,以及方便地在卡拉后台调整排序算法,专注于你的业务。

也就是说,使用卡拉搜索时有三个简单的步骤

  1. 你需要将数据从你的数据源(可能是数据库、文件、网页等形式)提取出来
  2. 将你的数据转为 JSON 格式
  3. 通过 SDK,API 或后台上传等方式将你的 JSON 数据发送给卡拉搜索

我们将在下文中详述上面几个步骤

1. 从你的数据源提取数据

卡拉搜索的引擎无法直接在你的数据源中搜索数据,因此你需要先将数据提取出来整理为可搜索的形式。

你的数据可能在以下任何一种数据来源中:

  1. 数据库 - 包括 MySQL,PostgreSQL,Redis,TiDB,Oracle DB,MongoDb,SQL Server 等
  2. 文本文件 - 包括 Excel 文件,DB 文件,TXT 文件,HTML 文件等
  3. 其它任意形式的数据存储,包括 HDFS 等

请注意,从搜索体验的角度考虑,以及从你的数据安全的角度考虑,在将你的数据发送给卡拉前,你通常需要先对数据进行处理。

2. 处理提取的数据

在步骤 1 中,你可以从任何数据源将数据读出。现在,你需要将数据转为 JSON 格式以便用 SDK 或 API 上传至卡拉搜索。

请注意,通常来说你并不需要将所有数据全部传给卡拉搜索。举个例子,如果你需要给定一个用户名,搜索用户的话,那么你的用户信息可能是如下

用户名用户头像 URL用户活跃度密码上次上线时间
张飞static/images/783.png887&39kjd1天前
王小虎static/images/277.png43&j2kucj3天前
李天王static/images/19.png99Hsuejck12天前

显然,你希望用户在输入查询 时,可以匹配到用户 王小虎李天王

在这个例子中,对于搜索用户有用的数据只有用户名,用户活跃度和上次上线时间。

对于用户搜索,密码 这项数据显然不会搜索结果有任何帮助,同时你也应该将敏感数据隐去以保证用户数据安全。而对于 用户头像 URL 这项数据来说,对于搜索结果也没有帮助,因为不会有用户来搜索以数字命名的文件名。

将以上数据的第一行转为 JSON 后,即为

{
"userName": "张飞",
"lastLogin": "1天前",
"active": 88
}

3. 将数据传至卡拉搜索

在将数据提取为 JSON 格式后,我们需要将数据传通过 API 传至卡拉搜索。我们将一条数据称为一个对象,而对象会被传至你的索引中。上第 2 步的用户搜索例子中,一个文档就是一个用户的 JSON 数据,在卡拉搜索后台你可以建一个叫 users 的索引。

如果你想尝试一下将数据传至卡拉搜索,最简单的办法就是在后台添加一个索引,然后直接在后台界面中添加一个对象。添加完对象后,你就可以立即开始搜索你添加的数据了。

友情链接更新日志© 2020, 卡拉搜索, Built with ❤️ in San Francisco + Beijing

京ICP备15049164号-3