首页 > 其他分享 >【ES系列三】——ES集成ik分词并测试

【ES系列三】——ES集成ik分词并测试

时间:2022-12-05 16:31:31浏览次数:34  
标签:插件 word max ik 测试 分词 ES

一、下载ik安装包     https://github.com/medcl/elasticsearch-analysis-ik/releases
    注:一定要与ES版本保持一致(我ES用的是6.0.0所以ik也要下载6.0.0),如下图:
【ES系列三】——ES集成ik分词并测试_analyzer 二、解压     1、可以通过命令:unzip 文件夹   进行解压
    2、要是没有unzip命令可以通过命令:yum install unzip  进行安装
    3、解压后的结构如下图(需要放到elasticsearch安装目录的plugins文件夹下进行解压): 【ES系列三】——ES集成ik分词并测试_ik_02 三、启动时进行加载     1、通过下面命令(ps -ef | grep elastic)查看是否启动了ES,如果启动了,则通过kill命令(kill -9 进程号)杀死
【ES系列三】——ES集成ik分词并测试_ik_03     2、启动之后如果有下面内容,证明ik插件加载成功(我是通过控制台启动的,后台启动命令在后面加 -d 即可)
【ES系列三】——ES集成ik分词并测试_ik_04 四、1、测试ik插件(通过head插件测试)   注:ES版本5.0.0之后的测试方式
    1、新建一个索引
【ES系列三】——ES集成ik分词并测试_ES_05     2、配饰内容进行测试如下图:
【ES系列三】——ES集成ik分词并测试_加载_06 四、2、测试ik插件(通过dos窗口测试)     1、新建一个索引
      curl -XPUT http://localhost:9200/index2
【ES系列三】——ES集成ik分词并测试_analyzer_07     2、直接输入下面内容进行测试(注:索引是刚才建立的索引)
      curl 'http://localhost:9200/index2/_analyze?analyzer=ik_max_word&pretty=true' -d '{"text":"我是中国人"}'
【ES系列三】——ES集成ik分词并测试_analyzer_08 五、ES2.0版本与ES5.0以后的版本对比以及注意事项     1、5.0以后移除名为 ik 的analyzer和tokenizer,请分别使用 ik_smart 和 ik_max_word(也就是5.0之前进行测试的时候需要将上面中的ik_max_word换成ik关键字)
    2、ES6.0与ik6.0进行集成安装之后,只能通过head工具来进行测试,通过url进行测试的时候会报错,这是一个bug已经提交到gethub上了,希望社区管理能及时更正(亲测5.5.1版本没问题)。
    3、ES5.0之后的ik_smart和ik_max_word说明
      ik_max_word: 会将文本做最细粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人,中国,国人”,会穷尽各种可能的组合。
      ik_smart: 会做最粗粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人”。
六、总结     这次的旅行虽然道路艰难,但是充满那么多的乐趣,的确是当真正搞懂它的时候,其实也就那么几步关键的地方,亲爱的读者们,期待小编后面的项目运用吧。

标签:插件,word,max,ik,测试,分词,ES
From: https://blog.51cto.com/u_14471711/5913042

相关文章

  • git commit提交代码时跳过 eslint校验
    在使用命令gitcommit-m'提交信息'将本地代码提交到远程仓库时候,如果项目安装了per-commit,则会在Git键入提交信息前进行代码风格检查,如果代码不符合相应规则,则报错。......
  • ServletRequest 【专题】
     获取所有headerprivatestaticMap<String,String>getHeaders(HttpServletRequestrequest){Map<String,String>headerMap=newHashMap<>();......
  • React Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.
    报错信息umi.js:68474Warning:validateDOMNesting(...):<div>cannotappearasadescendantof<p>.其实不难看出是它提示你应该在p标签中写一个select这里造成错误......
  • Kubernetes集群的Jenkins CI/CD版本上线流程部署
       最近在实习中接触了jenkins这个东西,所以花点时间了解了下。它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进......
  • 添加es的mapping与setting
    一:建立索引请求方式:put 请求url:127.0.0.1:9200/rain_run_index 请求体:{"mappings":{"properties":{"deviceNo":{......
  • kubernetes CKA题库(附答案)
    第一题RBAC授权问题权重:4%设置配置环境:[student@node-1]$kubectlconfiguse-contextk8sContext为部署管道创建一个新的ClusterRole并将其绑定到范围为特定的name......
  • DevExpress TreeList使用心得
    最近做项目新增光纤线路清查功能模块,思路和算法已经想好了,些代码时候居然在一个控件上纠结了好长的时间,虽然后来搞定了,但是好记性不然烂笔头,还是写下来,以后要用到的时候直接......
  • DevExpress TreeList 调优_绑定数据源方式, 放弃原来的AppendNode加载数据的方式
    注意事项1:由于一旦绑定了数据源dataTable的些许变化便在TreeList中有所体现,所以等dataTable完全填充好了之后再绑定数据源.注意事项2:dataTable每行的父节点ID当加载到......
  • [Typescript] 127. Hard - Assign
    Youhaveatargetobjectandasourcearrayofobjects.Youneedtocopypropertyfromsourcetotarget,ifithasthesamepropertyasthesource,youshould......
  • Kubernetes(K8S) helm chart
    感觉和放到一个yaml文件中,用----分隔,操作繁琐程度上,没有太大区别创建自定义Chart#创建自定义的chart名为mychart[root@k8smaster~]#helmcreatemychartCre......