[ElasticSearch] 如何使用中文分詞ik與繁簡轉換stconvert插件
一. 環境安裝
ElasticSearch(以下簡稱ES)安裝已經算相對簡單了, 但要使用需要配置的插件, 對剛入門的新手還是有點麻煩, 所幸medcl大神提供一個配置好的ES-rtf版本, 新手們在參數配置上浪費無謂的時間。
Github上的elasticsearch-rtf , 裡面都有詳盡的使用說明, 這裡就不多說了.(P.S. ansj,string2int這兩個插件需使用Redis, 若不需要使用可以將這兩個插件移除)
二. 使用ik中文分詞插件
以ik中文分詞插件例子在ES-Sense演示語法 ,
1. 創建名為myindex的index
- PUT http://localhost:9200/myindex
- 2.在Type名為fulltext建立mapping, 若fulltext有資料ES會報錯
- POST http://localhost:9200/myindex/fulltext/_mapping
- {
- "fulltext": {
- "_all": {
- "indexAnalyzer": "ik",
- "searchAnalyzer": "ik",
- "term_vector": "no",
- "store": "false"
- },
- "properties": {
- "content": {
- "type": "string",
- "store": "no",
- "term_vector": "with_positions_offsets",
- "indexAnalyzer": "ik",
- "searchAnalyzer": "ik",
- "include_in_all": "true",
- "boost": 8
- }
- }
- }
- }
3. 接下來我們可以在/index/fulltext建立一下資料了, 這裡將網站上content改為"content", 在Sense執行是都沒有問題的, 但使用Paly Framework在解析Json會出現問題, 所以最好補上雙引號
- POST http://localhost:9200/myindex/fulltext/1
- {"content":"美国留给伊拉克的是个烂摊子吗"}
- POST http://localhost:9200/myindex/fulltext/2
- {"content":"公安部:各地校车将享最高路权"}
- POST http://localhost:9200/myindex/fulltext/3
- {"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
- POST http://localhost:9200/myindex/fulltext/4
- {"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
4. 接下來我們用"中国"這個關鍵字做搜尋
- POST http://localhost:9200/myindex/fulltext/_search
- {
- "query" : { "term" : { "content" : "中国" }},
- "highlight" : {
- "pre_tags" : ["<tag1>", "<tag2>"],
- "post_tags" : ["</tag1>", "</tag2>"],
- "fields" : {
- "content" : {}
- }
- }
- }
ik github上有搜尋的結果這裡就不顯示了
5. 如何輸入繁體"中國" 得出相同的搜尋結果呢?
- GET /myindex/fulltext/_search?pretty
- {
- query: {
- match: {
- content: {
- analyzer: "t2s_convert",
- query: "中國"
- }
- }
- },
- "highlight" : {
- "pre_tags" : ["<tag1>", "<tag2>"],
- "post_tags" : ["</tag1>", "</tag2>"],
- "fields" : {
- "content" : {}
- }
- }
- }
analyzer: "t2s_convert"這指的是設定analyzer選擇用t2s_convert(繁 to 簡 轉換)
這樣就能繁體對簡體資料做搜尋囉。
[ElasticSearch] 如何使用中文分詞ik與繁簡轉換stconvert插件的更多相关文章
- 如何在Elasticsearch中安装中文分词器(IK)和拼音分词器?
声明:我使用的Elasticsearch的版本是5.4.0,安装分词器前请先安装maven 一:安装maven https://github.com/apache/maven 说明: 安装maven需 ...
- 如何在Elasticsearch中安装中文分词器(IK+pinyin)
如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...
- 沉淀再出发:ElasticSearch的中文分词器ik
沉淀再出发:ElasticSearch的中文分词器ik 一.前言 为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了 ...
- Elasticsearch入门和查询语法分析(ik中文分词)
全文搜索现在已经是很常见的功能了,当然你也可以用mysql加Sphinx实现.但开源的Elasticsearch(简称ES)目前是全文搜索引擎的首选.目前像GitHub.维基百科都使用的是ES,它可以 ...
- ElasticSearch中文分词(IK)
ElasticSearch常用的很受欢迎的是IK,这里稍微介绍下安装过程及测试过程. 1.ElasticSearch官方分词 自带的中文分词器很弱,可以体检下: [zsz@VS-zsz ~]$ c ...
- 如何给Elasticsearch安装中文分词器IK
安装Elasticsearch安装中文分词器IK的步骤: 1. 停止elasticsearch 2.2的服务 2. 在以下地址下载对应的elasticsearch-analysis-ik插件安装包(版 ...
- elasticsearch插件安装之--中文分词器 ik 安装
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ ElasticSearch中内置了许多分词器, standa ...
- ElasticSearch搜索引擎安装配置中文分词器IK插件
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- Elasticsearch如何安装中文分词插件ik
elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库. 安装步骤: 1.到github网站下载源代码,网站地址为:https://github.com/medcl/ ...
随机推荐
- python 日志模块工具类
#!/usr/bin/env python # -*- coding: utf-8 -*- import logging # logName 日志中的某个格式化的字段名,logFile生成的日志文件名 ...
- angular 工厂模式依赖注入
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; ...
- React基础篇(2) -- state&props&refs
内容简介 state props refs 行内样式及动态类名 state 基本介绍 React 把组件看成是一个状态机(State Machines).通过与用户的交互,实现不同状态,然后渲染 UI ...
- react.js学习之路五
最近没时间写博客,但是我一直在学习react,我发现react是一个巨大的坑,而且永远填不完的坑 关于字符串的拼接: 在react中,字符串的拼接不允许出现双引号“” ,只能使用单引号' ',例如这样 ...
- 一些c++多线程习题
题目1:子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码 代码1: #include <iostr ...
- Python实现——一元线性回归(最小二乘法)
2019/3/24 线性回归--最小二乘法公式法 暂时用python成功做出来了图像,但是其中涉及到的公式还是更多的来自于网络,尤其是最小二乘法公式中的两个系数的求解,不过目前看了下书高数也会马上提及 ...
- Python3之时间模块time & datetime & calendar
一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位 ...
- JDBC解决中文乱码
本文转载自https://www.liyongzhen.com/jdbc/jdbc-character 在使用JDBC开发的过程中,通常会遇到中文保存到数据库乱码的问题. 这个问题的产生有3个方面: ...
- JDK 5 ~ 10 新特性倾情整理!
JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了. 为了大家对JDK ...
- 使用octave符号运算求解不定积分、微分方程等(兼容matlab)
1.求解1/(1+cos(x))^2的不定积分. 在和学生讨论一道物理竞赛题的时候,出现了这个函数的积分求解需求.查积分表也可写出答案.但是可以使用octave的符号运算工具箱来做. syms x; ...