Skip to main content
Version: nightly 🚧

索引表别名

别名是指向实际索引表的虚拟索引表名称。它与 Linux 上的符号链接相似。

当您希望在不修改代码的情况下将应用程序切换到新索引表时,使用别名会非常方便。例如:

假设我们有一个名为 companies_june10 的索引表和一个指向该索引表的名为 companies 的别名。

companies ---> companies_june10

第二天(6 月 11 日),我们创建一个名为 companies_june11 的新索引表,并在后台将文档索引到该索引表中。当完成索引时,只需更新 companies 别名以指向这个新索引表,应用程序将立即开始查询新索引的索引表。

companies ---> companies_june11

现在让我们看看如何创建、更新和管理别名。

创建或更新别名

aliased_collection = {
'collection_name': 'companies_june11'
}

// Creates/updates an alias called `companies` to the `companies_june11` collection
client.aliases().upsert('companies', aliased_collection)

响应示例

{
"name": "companies",
"collection_name": "companies_june11",
}

定义

PUT ${KUMOSEARCH_HOST}/aliases/:alias

参数

参数必选描述
collection_name希望将别名映射到的索引表的名称。

检索别名

我们可以通过检索别名来找出别名指向哪个索引表。

client.aliases('companies').retrieve()

响应示例

{
"name": "companies",
"collection_name": "companies_june11",
}

定义

GET ${KUMOSEARCH_HOST}/aliases/:alias

列出所有别名

列出所有别名及其映射到的相应索引表。

client.aliases().retrieve()

响应示例

{
"aliases": [
{
"name": "companies",
"collection_name": "companies_june11"
},
{
"name": "employees",
"collection_name": "employees_june11"
}
]
}

定义

GET ${KUMOSEARCH_HOST}/aliases

删除别名

client.aliases('companies').delete()

响应示例

{
"name": "companies",
"collection_name": "companies_june11"
}

定义

DELETE ${KUMOSEARCH_HOST}/aliases/:alias