Elasticsearch---中文分词器IK

本文介绍如何在Elasticsearch中安装和使用IK分词器,包括配置自定义字典和停止词库,实现中文文本的高效分词处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中文分词器IK:

Analyzer: ik_smart , ik_max_word ,

Tokenizer: ik_smart , ik_max_word

 

一、IK分词器的安装:

1.下载安装:(下载的版本与ES版本对应)

方式一、下载源代码、编译:(略)

方式二、在线安装命令安装:(替换版本号)

在线安装 ik es插件 命令:

# /elasticsearch-6.2.2/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip

安装结果: /plugin/analysis-ik  

 查看插件安装列表: # sudo /elasticsearch-6.2.0/bin/elasticsearch-plugin list

2. 重启ES:  加载成功  loaded plugin[analysis-ik]

[2019-08-01T23:39:35,470][INFO ][o.e.p.PluginsService     ] [kii7EyF] loaded plugin [analysis-ik]

 

二. IK分词器的使用

1.创建index:  PUT http://localhost:9200/test_index 

请求:PUT http://localhost:9200/test_index 
结果:
{
    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "test1_index"
}

2. 创建Mapping: 

POST http://localhost:9200/test_index/test_type/_mapping

{
        "properties": {
            "content": {  //test_type里的的Feild
                "type": "text",
                "analyzer": "ik_max_word",  //指定索引时的分析器
                "search_analyzer": "ik_max_word" //指定查询时的分析器
            }
        }

}

3. 添加测试数据:

POST http://localhost:9200/test_index/test_type/1 -H 'Content-Type:application/json' -d'
{"content":"美国留给伊拉克的是个烂摊子吗"}
POST http://localhost:9200/test_index/test_type/2 -H 'Content-Type:application/json' -d'
 {"content":"美国留给伊拉克的是个烂摊子吗"}

4. 查询(带高亮)

POST http://localhost:9200/test_index/test_type/_search  -H 'Content-Type:application/json' -d'
{
    "query" : { "match" : { "content" : "中国" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}

 

三、配置:

1.IKAnalyzer.cfg.xml 配置文件位置:

在 {conf}/analysis-ik/config/IKAnalyzer.cfg.xml 

或在 {plugins}/elasticsearch-analysis-ik-*/config/IKAnalyzer.cfg.xml

2.配置字典和停止库:

IKAnalyzer.cfg.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
 	<!--用户可以在这里配置远程扩展字典 -->
	<entry key="remote_ext_dict">location</entry>
 	<!--用户可以在这里配置远程扩展停止词字典-->
	<entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry>
</properties>

my_stopword.dic文件格式:

 

3.热更新 IK 分词使用方法:

(1) 配置字典、停止词url地址:

 	<!--用户可以在这里配置远程扩展字典 -->
	<entry key="remote_ext_dict">location</entry>
 	<!--用户可以在这里配置远程扩展停止词字典-->
	<entry key="remote_ext_stopwords">location</entry>

其中 location 是指一个 url,比如 http://yoursite.com/getCustomDict

(2)触发分词热更新:

  1. 该 http 请求需要返回两个头部(header),一个是 Last-Modified,一个是 ETag,这两者都是字符串类型,只要有一个发生变化,该插件就会去抓取新的分词进而更新词库。

  2. 该 http 请求返回的内容格式是一行一个分词,换行符用 \n 即可。

 

 

内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值