Skip to main content
Version: nightly 🚧

同义词

同义词是被视为等效的搜索词。例如:将 sneaker 的同义词定义为 shoe 时,搜索 sneaker 将返回包含 shoesneaker 的所有记录。

kumosearch 支持两种类型的同义词:

  1. 单向同义词:将 iphoneandroid 定义为 智能手机 的单向同义词将会使搜索 智能手机 时返回包含 iphoneandroid 或两者的文档。

  2. 多向同义词:将 blazercoatjacket 定义为多向同义词将会使搜索这些单词中的任何一个(例如:coat)时,返回包含同义词集中至少一个词的文档(例如:返回带有 blazercoatjacket 的记录)。

优先级

当同时使用 Synonyms 同义词 和 Overrides 策略 时,首先处理 Overrides,因为这些规则策略可以包含替换查询的指令。然后,同义词将适用于修改后的查询。

创建或更新同义词

多向同义词

synonym = {
"synonyms": ["blazer", "coat", "jacket"]
}

// Creates/updates a synonym called `coat-synonyms` in the `products` collection
client.collections('products').synonyms().upsert('coat-synonyms', synonym)

响应示例

{
"id": "coat-synonyms",
"synonyms": ["blazer", "coat", "jacket"]
}

单向同义词

synonym = {
"root": "smart phone",
"synonyms": ["iphone", "android"]
}

// Creates/updates a synonym called `smart-phone-synonyms` in the `products` collection
client.collections('products').synonyms().upsert('smart-phone-synonyms', synonym)

响应示例

{
"id":"smart-phone-synonyms",
"root":"smart phone",
"synonyms": ["iphone", "android"],
"locale": "",
"symbols_to_index": []
}

定义

PUT ${KUMOSEARCH_HOST}/collections/:collection/synonyms/:id

参数

参数必选描述
synonyms应被视为同义词的单词数组。
root对于单向同义词,表示同义词参数中的单词映射到的根单词。
locale同义词的区域设置,留空以使用默认配置。
symbols_to_index默认情况下,特殊字符会从同义词中删除。使用此属性指定应按原样索引哪些特殊字符。

检索同义词

可以检索单个同义词。

client.collections('products').synonyms('coat-synonyms').retrieve()

响应示例

{
"id": "coat-synonyms",
"root":"",
"synonyms": ["blazer", "coat", "jacket"]
}

定义

GET ${KUMOSEARCH_HOST}/collections/:collection/synonyms/:id

列出所有同义词

列出与给定索引表关联的所有同义词。

注意:默认情况下,返回所有同义词,但您可以使用 offsetlimit 参数对列表进行分页。

client.collections('products').synonyms().retrieve()

响应示例

{
"synonyms": [
{
"id": "coat-synonyms",
"root": "",
"synonyms": ["blazer", "coat", "jacket"]
}
]
}

定义

GET ${KUMOSEARCH_HOST}/collections/:collection/synonyms

删除同义词

删除与索引表关联的同义词。

client.collections('products').synonyms('coat-synonyms').delete()

响应示例

{
"id": "coat-synonyms"
}

定义

DELETE ${KUMOSEARCH_HOST}/collections/:collection/synonyms/:id