最近更新时间:2023.11.10 10:33:49
首次发布时间:2023.07.21 11:36:53
执行热启用同义词文件,现存索引不会动态加载更新后的同义词词典。您可以使用系统默认插件(analysis-dynamic-synonym)实现同义词词典动态加载。本文介绍如何使用同义词插件,并体验同义词功能。
云搜索服务,Elasticsearch
。您需要提前上传并启用。相关文档,请参见上传同义词文件。您可通过以下方式访问 Kibana 登录页面:
在 Kibana 访问页面输入用户名和密码,单击 Log in,登录 Kibana。
用户名为 admin,密码为创建实例时设置的密码。如果您忘记了登录密码,您可在实例详情页面重置密码。
在 Kibana 左侧导航栏选择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":"云搜索服务" }
从返回结果中,可以清楚地看到云搜索服务,Elasticsearch
属于同义词。
在代码执区域执行以下命令,往索引中写入文档数据。
POST /doctest-6/_doc/1 {"name":"云搜索服务"}
在代码区域执行以下命令,查询文档。
GET /doctest-6/_search?explain { "query": { "match": {"name": "Elasticsearch"} } }
可以清楚地看到:查询Elasticsearch
,返回云搜索服务
,表示同义词文件已生效。
您可以修改同义词内容为云搜索服务,Elasticsearch,ES
,即增加ES
,然后热更新同义词词库,继续体验同义词文件热启用能力。
在实例的同义词文件列表,选择需要更新的同义词文件,然后单击热启用。
在上传热启用文件对话框,上传已更新的同名文件,然后单击关闭。
在 Kibana 左侧导航栏选择Management > Dev Tools。
新建一个索引,并写入文档数据。
检验同义词。
GET /doctest-8/_analyze { "analyzer": "by_ik_smart", "text":"云搜索服务" }
从返回结果中,可以清楚地看到云搜索服务,Elasticsearch,ES
属于同义词。
在代码执区域执行以下命令,查询文档数据。
GET /doctest-8/_search?explain { "query": { "match": {"name": "ES"} } }
查询ES
,返回云搜索服务
,表示已经动态加载同义词文件。