执行热更新同义词文件,现存索引不会动态加载更新后的同义词词典。您可以使用系统默认插件(analysis-dynamic-synonym)实现同义词词典动态加载。本文介绍如何使用同义词插件,并体验同义词功能。
云搜索服务,CloudSearch
配置为同义词,并提前启用。支持可视化配置和上传同义词文件两种方式,请按需选择,相关文档,请参见同义词配置-词条管理或同义词-文件管理。您可通过以下方式访问可视化工具:
在访问页面输入用户名和密码,单击 Log in,登录可视化工具。
用户名为 admin,密码为创建实例时设置的密码。如果您忘记了登录密码,您可以重置密码。
在左侧导航栏选择Management > Dev Tools,然后在代码区域执行以下命令,创建索引并指定同义词插件。
说明
以下命令原理为:创建一个名为doctest-6的索引,并进行以下操作。
by_ik_smart
的解释器,使用ik_smart
分词,并指定同义词插件default_dynamic_synonym
。PUT /doctest-6 { "settings": { "analysis": { "analyzer": { "by_ik_smart": { "tokenizer": "ik_smart", "filter": [ "default_dynamic_synonym" ] } } } }, "mappings": { "properties": { "name": { "type": "text", "analyzer": "by_ik_smart" } } } }
检验同义词。
GET /doctest-6/_analyze { "analyzer": "by_ik_smart", "text":"云搜索服务" }
从返回结果中,可以清楚地看到云搜索服务,CloudSearch
属于同义词。
在代码执区域执行以下命令,往索引中写入文档数据。
POST /doctest-6/_doc/1 {"name":"云搜索服务"}
在代码区域执行以下命令,查询文档。
GET /doctest-6/_search?explain { "query": { "match": {"name": "CloudSearch"} } }
可以清楚地看到:查询CloudSearch
,返回云搜索服务
,表示同义词文件已生效。
您可以修改同义词内容为云搜索服务,CloudSearch,ES,Elasticsearch
,即增加ES,Elasticsearch
,然后热更新同义词文件,继续体验同义词文件热更新能力。
在实例详情导航栏选择搜索管理 > 同义词管理,然后单击文件管理页签。
在实例的同义词文件列表,选择需要更新的同义词文件,然后单击热更新。
在上传热更新文件对话框,上传已更新的同名文件,然后单击关闭。
在 Kibana 左侧导航栏选择Management > Dev Tools。
新建一个索引,并写入文档数据。
检验同义词。
GET /doctest-8/_analyze { "analyzer": "by_ik_smart", "text":"云搜索服务" }
从返回结果中,可以清楚地看到云搜索服务,CloudSearch,ES,Elasticsearch
属于同义词。
在代码执区域执行以下命令,查询文档数据。
GET /doctest-8/_search?explain { "query": { "match": {"name": "ES"} } }
查询ES
,返回云搜索服务
,表示已经动态加载同义词文件。