
数据库
Hiber12
I'm waiting
展开
-
es通过mapping定义数据类型
前面已经说了,es都是文本的形式存储数据,直接创建索引,和type表,字段中插入数据。不需要定义这些数据是什么类型的,可以不定义。但如果要定义,那么我们就可以使用mapping来定义数据结构类型1、Es的mapping定义是基于整个库的Mysql数据结构字段定义是基于整个表的2、Es由mapping定义默认字段数据类型Text:可拆分的字符串(分词)Keyword:不可拆分字符串3、决战618这本书在吹牛,吹京东自己的,自己的sku商品(以前+现售)超10亿个4、es搜索这些sku,也相当于原创 2020-12-19 00:18:20 · 2147 阅读 · 5 评论 -
es集群工作原理
一、es集群简介当加入新的节点或者删除一个节点时,集群就会感知到并平衡数据(同步)二、集群节点1、集群中一个节点会被选举为主节点(master)2、主节点不参与文档级别的变更或搜索3、任何节点都可以成为主节点。4、用户,我们能够与集群中的任何节点通信,包括主节点。5、每一个节点都知道文档存在于哪个节点上,它们可以转发请求到相应的节点上。6、我们访问的节点负责收集各节点返回的数据,最后一起返回给客户端。这一切都由Elasticsearch处理。三、集群健康在Elasticsearch集群中原创 2020-12-18 02:39:27 · 3701 阅读 · 0 评论 -
搭建es集群,对外提供服务端口,对集群内提供服务端口,设置主节点为节点的半数+1防止脑裂
一、克隆一台Linux机器,右键Linux系统,管理-克隆1、2、3、4、打开克隆的机器,修改他的ip地址cd /etc/sysconfig/network-scripts/vi ifcfg-ens33 5、重启网络服务service network restart二、es的集群配置文件(冒号:后一定要加空格。等号=后一定不加空格)vi config中的elasticsearch.yml文件cluster.name: aubin-cluster # 集群名称(不能重复)原创 2020-12-18 00:52:51 · 1185 阅读 · 0 评论 -
es的相关性算分-BM25算法:词频超过一定数量,超过的那部分不进行算分
相关性算分:指文档与查询语句间的相关度,通过倒排索引可以获取与查询语句相匹配的文档列表如何将最符合用户查询需求的文档放到前列呢?本质问题是一个排序的问题,排序的依据是相关性算分,确定倒排索引哪个文档排在前面影响相关度算分的参数:1、TF(Term Frequency):词频,即单词在文档中出现的次数,词频越高,相关度越高2、Document Frequency(DF):文档词频,即单词出现的文档数3、IDF(Inverse Document Frequency):逆向文档词频,与文档词频相反,.原创 2020-12-18 00:38:30 · 1781 阅读 · 0 评论 -
es的query关键字中的match子关键字匹配查询,中文分词器(ik_smart 简易分词、ik_max_word 尽最大可能分词)
1、先了解一下es的语法语句关键字2、最常用的,query关键字查询,query下还有match子关键字(匹配的意思)GET movie_index/movie/_search{ "query": { "match": { "name": "red" } }}查询name字段带有red的,查到总共2条结果!3、上面插入和查询的都是英文,那么要让es识别我们的中文,怎么办?就是要让他做到分词处理,比如:红海行动,要让他分成:红海、行动才行的。这里可以让他先分析一原创 2020-12-18 00:32:26 · 2748 阅读 · 0 评论 -
es增PUT 删DELETE 改POST 查GET操作
1、增PUT 删DELETE 改POST 查GET:2、插入数据:格式 PUT /index/type/idindex相当于库,type相当于表,id相当于主键PUT /movie_index/movie/1{ "id":1, "name":"operation red sea", "doubanScore":8.5, "actorList":[ {"id":1,"name":"zhang yi"},{"id":2,"name":"hai qing"},{"id":3,原创 2020-12-17 23:48:30 · 1829 阅读 · 0 评论 -
es的交互
1、mysql是通过tcp协议进行的交互2、而es比较高级,使用的是http协议进行交互,为什么呢,因为es存的都是一些文本的内容,以json字符串格式进行的交互,使用http会比较方便。以http端口9200为它的交换手段。如果该端口未开放,则需要输入以下命令开放:firewall-cmd --permanent --add-port=5601/tcpfirewall-cmd --reload 3、get请求:请求指定的页面信息,并返回实体主体。即:输入一个指定网址,返回该主体网址put原创 2020-12-17 22:59:17 · 526 阅读 · 0 评论 -
安装elasticSearch
1、安装环境:CenOs7、内存2G、java1.82、elasticSearch是基于Lucene的,用java写的,有什么好处?只要有jvm虚拟机在,解压就直接可以跑了,反而之前的fastdfs用c写的复杂更多。3、现在/opt目录下,创建一个mkdir es目录,上传到linux系统的/opt/es目录下:4、cd /opt/es5、给予所有压缩包权限chmod 777 *6、tar -zxvf elasticsearch-6.3.1.tar.gz解压文件。并且chmod 777 -R原创 2020-12-14 14:46:06 · 120 阅读 · 0 评论 -
搜索引擎 elasticSearch
1、搜索引擎elasticSearch5.0:使用root用户权限,一个数据库可以建立多张表elasticSearch6.0:只能使用elasticSearch其他用户权限,一个数据库只能建立一张表为何6.0更新了,反而权限降低了呢?在5.0版本中,是因为你用了root使用elasticSearch,有很多黑客可以透过elasticSearch获得root权限,操作的服务器,这样就非常不安全。姑且6.0版本就限制了用户的使用权限了。2、文本搜索引擎(以空间换时间的算法)在MySQL数据库中(除开主原创 2020-12-14 14:23:47 · 215 阅读 · 0 评论