默认情况下云搜索服务安装了简繁体转换插件,用户无需自行安装。简繁体转换插件是一款可以使中文简体和中文繁体相互转换的插件。通过该插件的转换,用户可以使用中文繁体关键字搜索出包含对应中文简体的索引数据,也可以使用中文简体关键字搜索出包含对应中文繁体的索引数据。
简繁体转换插件通常可以当做analyzer、tokenizer、token-filter或char-filter来使用。
简繁体转换插件的转换类型包含如下两种:
- s2t:将中文简体转换为中文繁体。
- t2s:将中文繁体转换为中文简体。
示例指导
- 登录云搜索服务管理控制台。
- 在左侧导航栏中,选择“集群管理”,进入集群列表页面。
- 在集群列表中,单击需要使用的集群对应“操作”列的“Kibana”。
如果开启了安全模式,需要输入创建集群时设置的用户名和密码。
- 在Kibana的左侧导航中选择“Dev Tools”,单击“Get to work”,进入Console界面。
- 在Console界面,执行如下命令,创建索引“stconvert”,并指定自定义映射来定义数据类型。
7.x之前版本
PUT /stconvert
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"analysis": {
"analyzer": {
"ts_ik": {
"tokenizer": "ik_smart",
"char_filter": [
"tsconvert",
"stconvert"
]
}
},
"char_filter": {
"tsconvert": {
"type": "stconvert",
"convert_type": "t2s"
},
"stconvert": {
"type": "stconvert",
"convert_type": "s2t"
}
}
}
},
"mappings": {
"type": {
"properties": {
"desc": {
"type": "text",
"analyzer": "ts_ik"
}
}
}
}
}
7.x之后版本
PUT /stconvert
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"analysis": {
"analyzer": {
"ts_ik": {
"tokenizer": "ik_smart",
"char_filter": [
"tsconvert",
"stconvert"
]
}
},
"char_filter": {
"tsconvert": {
"type": "stconvert",
"convert_type": "t2s"
},
"stconvert": {
"type": "stconvert",
"convert_type": "s2t"
}
}
}
},
"mappings": {
"properties": {
"desc": {
"type": "text",
"analyzer": "ts_ik"
}
}
}
}
返回结果如下所示。
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "stconvert"
}
- 在Console界面,执行如下命令,导入数据到“stconvert”索引中。
7.x之前版本
POST /stconvert/type/1
{
"desc": "國際電視臺"
}
7.x之后版本
POST /stconvert/_doc/1
{
"desc": "國際電視臺"
}
当返回结果信息中“failed”字段的值为“0”时,表示数据导入成功。
- 在Console界面,执行如下命令,搜索关键字“国际”,并查看搜索结果。
GET /stconvert/_search
{
"query": {
"match": {
"desc": "国际"
}
}
}
搜索结果如下所示。
{
"took" : 15,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 0.5753642,
"hits" : [
{
"_index" : "stconvert",
"_type" : "type",
"_id" : "1",
"_score" : 0.5753642,
"_source" : {
"desc" : "國際電視臺"
}
}
]
}
}