You need to enable JavaScript to run this app.
云搜索服务

云搜索服务

复制全文
使用 IK 分词插件
体验 IK 分词能力
复制全文
体验 IK 分词能力

本文提供一个简单示例,以帮助您了解如何使用 IK 分词。

背景说明

云搜索服务提供可视化和上传文件两种方式配置 IK 分词的能力,两种配置方式的作用效果相同,本文采用上传分词词典文件的方式,介绍使用 IK 分词的基本流程。

  • 提供一个分词词典文件(DOC_MAIN.dic),词典内容如下:

    云搜索服务
    重要功能
    
  • 提供一个停用词词典文件(DOC_STOPWORD.dic),词典内容如下:

    的
    一个
    是
    

前提条件

本文选择登录可视化工具进行索引相关操作,请先启用公网访问能力。具体操作,请参见配置 Kibana/Dashboards 公网访问

步骤一:未上传词典文件

  1. 登录云搜索服务控制台

  2. 在顶部导航栏,选择目标项目和地域。

  3. 您可通过以下方式访问可视化工具登录页面:

    • 实例列表页面,单击目标实例操作列的 KibanaDashboards
    • 基本信息页面的可视化控制区域,单击 Kibana 或 Dashboards 卡片上的公网入口

    说明

    云搜索服务控制台,支持 ES 和 OpenSearch 两种实例。ES 实例的可视化工具为 Kibana;OpenSearch 实例的可视化工具为 Dashboards

  4. 在登录页面输入用户名和密码,登录可视化工具。
    用户名为 admin,密码为创建实例时设置的密码。如果您忘记了登录密码,您可在实例详情页面重置密码。

  5. 在左侧导航栏选择Management > Dev Tools,然后在代码区域执行以下命令,创建索引。

    PUT /doctest
    {
        "settings": {
            "number_of_shards": 1
        },
        "mappings": {
            "properties": {
                "subject": {
                    "type": "text"
                }
            }
        }
    }
    

    Image

  6. 执行以下命令查询数据,测试 IK 分词插件是否正常可用。

    GET /doctest/_analyze
    {
      "analyzer": "ik_smart",
      "text": ["云搜索服务的IK分词是一个重要功能"]
    }
    

    说明

    IK分词插件的分词器包括ik_smartik_max_word,两者区别如下:

    • ik_smart:将文本按照粗粒度进行拆分,适合短语查询。比如查询云搜索服务,拆分返回结果为云,搜索,服务
    • ik_max_word:将文本按照最细粒度进行拆分,适合术语查询。比如查询云搜索服务,拆分返回结果为云搜索,搜索,服务

    Image
    返回的完成信息如下:

    {
      "tokens" : [
        {
          "token" : "云",
          "start_offset" : 0,
          "end_offset" : 1,
          "type" : "CN_CHAR",
          "position" : 0
        },
        {
          "token" : "搜索",
          "start_offset" : 1,
          "end_offset" : 3,
          "type" : "CN_WORD",
          "position" : 1
        },
        {
          "token" : "服务",
          "start_offset" : 3,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 2
        },
        {
          "token" : "的",
          "start_offset" : 5,
          "end_offset" : 6,
          "type" : "CN_CHAR",
          "position" : 3
        },
        {
          "token" : "ik",
          "start_offset" : 6,
          "end_offset" : 8,
          "type" : "ENGLISH",
          "position" : 4
        },
        {
          "token" : "分词",
          "start_offset" : 8,
          "end_offset" : 10,
          "type" : "CN_WORD",
          "position" : 5
        },
        {
          "token" : "是",
          "start_offset" : 10,
          "end_offset" : 11,
          "type" : "CN_CHAR",
          "position" : 6
        },
        {
          "token" : "一个",
          "start_offset" : 11,
          "end_offset" : 13,
          "type" : "CN_WORD",
          "position" : 7
        },
        {
          "token" : "重要",
          "start_offset" : 13,
          "end_offset" : 15,
          "type" : "CN_WORD",
          "position" : 8
        },
        {
          "token" : "功能",
          "start_offset" : 15,
          "end_offset" : 17,
          "type" : "CN_WORD",
          "position" : 9
        }
      ]
    }
    

步骤二:上传并启用分词词典文件

上传并启动分词词典文件(DOC_MAIN.dic),然后重新执行查询命令,注意对比前后两次的查询结果。如何上传词典文件,请参见上传 IK 分词词典文件

说明

如果使用可视化配置分词词条,先添加分词词条,然后执行一键生效的操作,系统将生成SYSTEM_DICTIONARY_MAIN.dic。相关文档,请参见可视化配置 IK 分词

  1. 在左侧导航栏选择Management > Dev Tools
  2. 在代码区域重新执行以下查询命令,然后查看返回内容。
    Image
    可以清楚地看到:分词词典文件中的分词生效,返回结果显示相关短语未被拆分。
    {
      "tokens" : [
        {
          "token" : "云搜索服务",
          "start_offset" : 0,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "的",
          "start_offset" : 5,
          "end_offset" : 6,
          "type" : "CN_CHAR",
          "position" : 1
        },
        {
          "token" : "ik",
          "start_offset" : 6,
          "end_offset" : 8,
          "type" : "ENGLISH",
          "position" : 2
        },
        {
          "token" : "分词",
          "start_offset" : 8,
          "end_offset" : 10,
          "type" : "CN_WORD",
          "position" : 3
        },
        {
          "token" : "是",
          "start_offset" : 10,
          "end_offset" : 11,
          "type" : "CN_CHAR",
          "position" : 4
        },
        {
          "token" : "一个",
          "start_offset" : 11,
          "end_offset" : 13,
          "type" : "CN_WORD",
          "position" : 5
        },
        {
          "token" : "重要功能",
          "start_offset" : 13,
          "end_offset" : 17,
          "type" : "CN_WORD",
          "position" : 6
        }
      ]
    }
    

步骤三:上传并启用停用词词典文件

上传并启动停用词词典文件(DOC_STOPWORD.dic),然后重新执行查询命令,注意对比前后两次的查询结果。如何上传词典文件,请参见上传 IK 分词词典文件

说明

如果使用可视化配置分词词条,先添加停用词词条,然后执行一键生效的操作,系统将生成SYSTEM_DICTIONARY_STOPWORD.dic。相关文档,请参见可视化配置 IK 分词

  1. 在左侧导航栏选择Management > Dev Tools
  2. 在代码区域重新执行以下查询命令,然后查看返回内容。
    Image
    可以清楚地看到:分词词典文件中的分词生效,返回结果显示相关短语未被拆分;停用词词典文件中的停用词生效,返回结果中停用词已被过滤。
    {
      "tokens" : [
        {
          "token" : "云搜索服务",
          "start_offset" : 0,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "ik",
          "start_offset" : 6,
          "end_offset" : 8,
          "type" : "ENGLISH",
          "position" : 1
        },
        {
          "token" : "分词",
          "start_offset" : 8,
          "end_offset" : 10,
          "type" : "CN_WORD",
          "position" : 2
        },
        {
          "token" : "重要功能",
          "start_offset" : 13,
          "end_offset" : 17,
          "type" : "CN_WORD",
          "position" : 3
        }
      ]
    }
    
最近更新时间:2025.04.21 17:20:47
这个页面对您有帮助吗?
有用
有用
无用
无用