Elasticsearch 系列回来了,先给因为这个系列关注我的同学说声抱歉,拖了这么久才回来,这个系列虽然叫「Elasticsearch 从入门到放弃」,但只有三篇就放弃还是有点过分的,所以还是回来继续更新. 之前我们聊过了Elasticsearch 的索引和文档,不太熟悉的话可以先翻阅一下前文.今天再一起聊一下 Elasticsearch 的分词器. 关于分词 如果你是讲 Elasticsearch 作为搜索引擎,那么你应该需要对分词进行了解,Elasticsearch 的分词是将全文本转换…
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.ElasticSearch搜索引擎安装配置中文分词器IK插件 4.ElasticSearch搜索引擎安装配置拼音插件pinyin 5.ElasticSearch搜索引擎在JavaWeb项目中的应用 一.IK简介 ElasticSearch(以下简称ES)默认的分词器是标准分词器Standard,如果直接使…
原文:使用Docker 安装Elasticsearch.Elasticsearch-head.IK分词器 和使用 Elasticsearch的安装 一.elasticsearch的安装 1.镜像拉取 docker pull elasticsearch:tag 2.启动 docker run -it -e "discovery.type=single-node" --name="es" -p 9200:9200 -p 9300:9300 elasticsearch 3…
中文分词器 在lunix下执行下列命令,可以看到本来应该按照中文"北京大学"来查询结果es将其分拆为"北","京","大","学"四个汉字,这显然不符合我的预期.这是因为Es默认的是英文分词器我需要为其配置中文分词器. curlHTTP://192.168.79.131:9200/shb01/_analyze?pretty=true -d'{"text":"北京大学"…
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ ElasticSearch中内置了许多分词器, standard, english, chinese等, 中文分词效果不佳, 所以使用ik 安装ik分词器 下载链接: https://github.com/medcl/elasticsearch-analysis-ik/releases 版本对应关系: https://github.com/medcl/ela…
前面已经对”IK中文分词器“有了简单的了解:  但是可以发现不是对所有的词都能很好的区分,比如:  逼格这个词就没有分出来. 词库 实际上IK分词器也是根据一些词库来进行分词的,我们可以丰富这个词库. IK分词器(IK Analysis for Elasticsearch)给了我们一个基本的配置: https://github.com/medcl/elasticsearch-analysis-ik  修改我们es实例中ik插件的配置: cd elasticsearch-5.3.0/plugins…
IK分词插件的安装 ES集群环境 VMWare下三台虚拟机Ubuntu 14.04.2 LTS JDK 1.8.0_66 Elasticsearch 2.3.1 elasticsearch-jdbc-2.3.1.0 IK分词器1.9.1 clustername:my-application 分配如下表: 虚拟机 | IP | node-x ----|---- search1 | 192.168.235.133 | node-1 search2 |192.168.235.134 | node-2…
前文我们提到,Elasticsearch的数据都存储在索引中,也就是说,索引相当于是MySQL中的数据库.是最基础的概念.今天分享的也是关于索引的一些常用的操作. 创建索引 curl -X PUT "localhost:9200/jackey?pretty" ES创建索引使用PUT请求即可,上面是最简单的新建一个索引的方法,除此之外,你还可以指定: Settings Mappings aliases 索引名称有以下限制: 必须是小写 不能包含:\,/,*, ?, ", <…
概要 本篇主要讲解倒排索引的基本原理以及ES常用的几种分词器介绍. 倒排索引的建立过程 倒排索引是搜索引擎中常见的索引方法,用来存储在全文搜索下某个单词在一个文档中存储位置的映射.通过倒排索引,我们输入一个关键词,可以非常快地获取包含这个关键词的文档列表. 我们先看英文的,假设我们有两个文档: I have a friend who loves smile love me, I love you 为了建立倒排索引,我们先按最简单的用空格把每个单词分开,可以得到如下结果: *表示该列文档中有这个词…
前面我们聊了 Elasticsearch 的索引.搜索和分词器,今天再来聊另一个基础内容-- Mapping. Mapping 在 Elasticsearch 中的地位相当于关系型数据库中的 schema,它可以用来定义索引中字段的名字.定义字段的数据类型,还可以用来做一些字段的配置.从 Elasticsearch 7.0开始,Mapping 中不在乎需要定义 type 信息了,具体原因可以看官方的解释. 字段的数据类型 我们刚刚提到 Mapping 中可以定义字段的数据类型,这可能是 Mapp…