当前位置:首页 > 生活百科

elasticsearch创建索引命令(elasticsearch重建索引)

栏目:生活百科日期:2025-01-26浏览:0

学习计划安排如下:

Elasticsearch作为一门全文检索技术,那它是如何使用的呢?先学习Elasticsearch的一些语法,后续再在项目中实战应用。

一、IK分词器

这个IK分词器有什么用?为什么要用它?

要知道计算机是老美搞出来的,它的很多东西对于中文来说其实是很不友好的。

关于分词,即把一段中文或者别的划分成一个个的关键字。

比如&”我是中国人&”,可以分为多少个词?

按照中国汉字语言,其分为“我”,“是”,“中国人”,“中国”,“国人”这5个。

也就是说用户输入上述5个词语,都可以搜索到“我是中国人”这条数据。

而默认的中文分词是将每个字看成一个词,会被分为“我”,“是”,&”中&”,&”国&”,&”人&”。

这显然是不符合要求的,所以用中文分词器ik来解决这个问题。

①analyze:翻译过来就是分析的意思,这里就可以理解成分词。

②analyzer:这里也就是指分词器,我们使用ik_max_word。

ik_max_word为最细粒度划分。ik_smart为最少切分。

这是ik分词器提供的两个分词算法,至于具体是如何实现的,就要去研究它的算法了。

可以把上述代码修改做一个对比,会发现使用ik_smart只能分三个词:“我”,“是”,“中国人”

这里显然使用ik_max_word更加的合适。

二、基本概念

Elasticsearch本质上也就是在存储数据,其有很多概念可以和MySQL类似的。

为了方便学习将其和MySQL结合起来。

当然严格来说将这些概念对应起来不太准确,但目前就这样理解也没问题。

①索引库indices

MySQL中通过数据库存储数据。Elasticsearch中通过索引库存储索引。

indices本身也就是索引indexs的复数写法。

②类型type

一个数据库中可以创建多张表,比如说商品表,订单表。一个索引集也可以有不同类型的索引,比如说商品索引,订单索引。

不过这有一个缺陷是会导致索引库混乱,未来版本中会移除这个概念,emm…也不知道现在移除这个概念没有,目前还没来得及查。

③文档document

数据库中一条数据就是一行。索引集中一条信息就是一个文档

④字段field

数据库中列就是每一行中的数据。索引集中字段就是文档中的属性。

弄清楚了这些概念,接下来创建索引库。

三、操作索引库

昨天我们也说明过了,Elasticsearch是一个基于RESTful风格的搜索引擎。

Elasticsearch采用的是REST风格API,其API本质上也就是一次http请求:

1索引库的创建

既然是请求,那自然就会有:

请求方式:PUT,其对应的就是创建。请求路径:/索引库名请求参数:这里是settings

这里settings是指索引库的设置:

number_of_shards:分片数量。number_of_rplicas:副本数量。

这个呢就涉及到了一些集群相关的概念,后续具体使用到的时候再做说明。

2索引库的查询与删除

REST风格的方便之处就在于通过请求方式的不同就能实现不同的操作:

①查询索引库

请求方式GET对应的就是查询操作。

请求路径依旧是上述创建的索引库,可以查询出liuxiaoai01索引库的信息。

②删除索引库

请求方式DELETE对应的就是删除操作。

请求路径依旧是上述创建的索引库,可以删除liuxiaoai01索引库。

删除后再次使用GET查询对应的索引库,会发现其会报错了,证明删除成功。

四、操作字段映射

创建了索引库也就相当于有了database数据库,接下来就是数据表并添加数据了。

1类型的创建

在索引库中添加数据叫映射,这也是上述格式中_mapping的由来。

goods就是索引类型,也就是相当于数据库中的goods数据表。

properties也就是属性,其下添加对应的字段,上述中就有title,images,price三个字段,可以设置许多属性:

type:int、long、short、date、integer、text、string……等多个。index:根据语义理解就是是否被作为索引?analyzer:也就是分词器。

这个type是字段数据类型:int、long这些是数字类型,text、string是字符串类型。

若是text类型,默认会分词。若是String类型,默认不会分词,上述中写的keyword和String一回事,翻译过来是关键字的意思,关键字肯定不能再分了,更好理解。

2类型的查询

PUT对应着新增操作,GET也就对应着查询操作了,关于类型没有删除和修改操作。

就相当于不能删除和修改数据表的名称,这点倒是和MySQL数据库不一样。

其查询到的索引之间的映射关系也很清楚:

索引库叫liuxiaoai01,通过mappings映射有goods这个索引类型,该类型下properties中有3个字段。

基本上知道了其单词意思也就知道其作用了。

注意关于这个type不要弄混了:

goods对应的是索引类型,相当于数据表。上述多个类型对应的是字段的数据类型。

“elasticsearch创建索引命令(elasticsearch重建索引)” 的相关文章

交换机划分vlan配置步骤(VLAN配置命令用法)

VLAN(VirtualLocalAreaNetwork)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑...

人人教育加盟怎么样(浅析加盟人人教育的好处)

美国纽约时代广场被誉为“世界的十字路口”,每年千万商业精英汇集于此,是全球当之无愧的商业核心地和知名财富地标。其中纳斯达克半圆柱形巨幅屏是最受瞩目的标志性建筑之...

excel填充快捷键ctrl加什么(图文详解填充快捷键方法)

如果你不会在Excel中用Ctrl+E键,请看完这篇教程!如果你的Excel不能用Ctrl+E,请更新你的Office系列软件!都2021年了,你还在用贰零零几...

奥特曼大战僵尸游戏(奥特曼游戏合集推荐)

奥特曼是我们耳熟能详的日漫角色,实际上奥特曼一直热播至今,时间甚至都查过了半个实际。现在的奥特曼被誉为新生代奥特曼,新生代奥特曼不仅外形更加酷炫,同时技能也更加...

寻找精准客户的方法(精准客户的软件介绍)

一个人的精力很有限,加之外部、内部竞争激烈,那么在短时间内,销售人员要开单,怎么找客户?事实上销售开单难是因为在非目标客户身上,浪费了大量的时间。比如你对一位客...

光纤多模和单模的区别(三分钟了解多模光纤和单模光纤)

在光缆光纤厂家中最常见的传输上大可分为单模光纤和多模光纤。虽然两者单模和多模只有一字之差,它们之间还是有一些区别的:  单模光纤只能传输的是单模信号,而多模光纤...

创业模式有哪几种类型(2020年完整创业的模式)

每天都能看的很多人在网上问,创业我选择哪个行业或项目。既然不清楚创业选择,不如先了解一下创业的常见模式:1.价值导向型此类模式多以用户需求为核心,以解决需求所产...

nfc iphone门禁卡(ios nfc功能使用方法)

手机在世界范围内主要分为iPhone党和安卓党两种,iPhone党坚持流畅第一,而安卓党则是拥抱开源,不过两者却是不断向对方靠近,而最近国内iPhone一直缺失...

2020全球搜索引擎市场份额排行榜

最近松松编辑杰哥从全球知名流量统计平台“Statcounter”挖掘到,全球2020搜索引擎市场份额排行榜正式公布,对比2019全球搜索引擎排名略有变化!根据杰...

sublime快捷键设置(sublime快速生成html模板)

前言:在程序猿的日常开发、故障处理、版本更新、文档编辑等等的工作当中,必不可少的都会和数据打交道。有时候在处理一些代码数据时,往往都是手工一个个地进行复制粘贴,...