ElasticSearch
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
ElasticSearch中删除 某一个表的命令
curl -XPOST localhost:9201/inssa/OperationLogs/_delete_by_query前边的是库名,后边的是表名原创 2018-09-26 21:18:45 · 2507 阅读 · 0 评论 -
ElasticSearch中分词器以及分词原理:听课笔记(38讲-45讲)
第38讲第39讲第40讲第41讲分词器:拆分词语,做normalization(时态转换,单复数转换,同义词,大小写的转换)默认情况下是standard状态,分词的时候会将连词and ,介词a the an等词干掉第42讲date建立倒排索引的时候,会按照精准查找来匹配。post date内部做了一部分优化测试分词器的方法...原创 2018-10-08 20:33:20 · 1723 阅读 · 1 评论 -
elasticsearch中分页查询的原理
分页实验deep paging。。。原创 2018-10-08 18:26:24 · 843 阅读 · 0 评论 -
Elasticsearch的使用场景深入详解
原文链接了解了ES的使用场景,ES的研究、使用、推广才更有价值和意义。1、场景—:使用Elasticsearch作为主要的后端传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力。这是因为早期的搜索引擎不能提供耐用的存储或其他经常需要的功能,如统计。Elasticsearch是提供持久存储、统计等多项功能的现代搜索引擎。如果你开始一个新项目,我们建议您考...原创 2018-10-08 15:32:25 · 5304 阅读 · 0 评论 -
Elasticsearch 字段数据类型
原文链接核心数据类型(Core datatypes)字符型(String datatype):string(这个是2.x版本的,5.x版本之后是text,并没有string类型了。) 数字型(Numeric datatypes):long, integer, short, byte, double, float 日期型(Date datatype):date 布尔型(Boolean ...原创 2018-10-07 23:50:27 · 1653 阅读 · 0 评论 -
Elastic Search学习总结
原文链接题记:Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论……0. 带着问题上路——ES是如何产生的?(1)思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、s...原创 2018-10-07 23:48:44 · 243 阅读 · 0 评论 -
听课笔记(74讲员工管理系统的聚合)
第74讲对数据进行聚合分析 写入数据和查询数据是相互独立的过程原创 2018-10-07 23:42:07 · 145 阅读 · 0 评论 -
听课笔记(73讲员工管理系统的搜索)
第73讲:员工管理系统的搜索 什么都没有搜到,去数据库里边查询是否有数据进来。原创 2018-10-07 23:17:55 · 119 阅读 · 0 评论 -
听课笔记(72讲)
第72讲每隔1s中生成一个segment file,这样导致文件的数量会增多。小的segment在flush到OS cache上去之前还会有一侧merge操作,默认三个小的segment filemerge成一个较大一点的segment文件。 ...原创 2018-10-07 23:01:06 · 250 阅读 · 0 评论 -
elasticsearch中设定分词器的格式
PUT /test{ "mappings": { "test_type": { "properties": { "birthday":{ "type": "text" , "analyzer": "english" }, "c原创 2018-10-08 21:03:43 · 228 阅读 · 0 评论 -
elasticsearch中的排序问题:听课笔记(53讲—54讲)
第53讲自己去定义就是使用sort不想让出现null,那么可以用constant_score+filter第54讲首先要把之前定的索引干掉,然后重新再建索引。 title:先是分词的,分词的是用来做搜索的,要做成不分词的,不分词的是用来做排序的。 title要索引两次:第一次是分词的;第二次加上title.row做成不分词...原创 2018-10-08 22:32:11 · 180 阅读 · 0 评论 -
elasticsearch中的负责查询操作
课程大纲1、query string search2、query DSL3、query filter4、full-text search5、phrase search6、highlight search------------------------------------------------------------------------------------------...原创 2018-10-11 00:00:44 · 138 阅读 · 0 评论 -
elasticsearch的聚合查询
第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{ "aggs": { "group_by_tags": { "terms": { "field": "tags" } } }} 将文本field的fielddata属性设置为true PUT /ecommerce/_mapping/prod...原创 2018-10-10 23:56:45 · 1502 阅读 · 0 评论 -
es进行聚合操作时提示Fielddata is disabled on text fields by default
根据es官网的文档执行GET /megacorp/employee/_search{ "aggs": { "all_interests": { "terms": { "field": "interests" } } }}这个例子时,报错{ "error": { "root_cause": [原创 2018-10-10 23:33:26 · 530 阅读 · 0 评论 -
听课笔记(6节)
原创 2018-10-10 00:45:10 · 472 阅读 · 0 评论 -
听课笔记(4节—5节)
shard一旦被设置,是不可以再修改的。原创 2018-10-10 00:41:55 · 107 阅读 · 0 评论 -
听课笔记(1讲—3将,安装,配置,插件)
高扩展性,高可用,实时处理solar支持很多文本格式,但是es只支持json格式在搜搜方面,ES做的比solar更好。 重启:reboot配置环境变量,安装如果启动不成功,那么就去log里边查看。 配置文件:elastic search的安装:1、配置Java环境变量...原创 2018-10-10 00:21:18 · 137 阅读 · 0 评论 -
elasticsearch中进行合法性验证
GET /test_index/test_type/_validate/query?explain{ "query":{ "match": { "test field": "test" } }}GET /_search{ "query": { "bool": { "filter": {原创 2018-10-09 09:41:34 · 491 阅读 · 0 评论 -
听课笔记(67讲—70讲)
第67讲倒排索引是不可变的,所以就不需要锁。第68讲 数据——>buffer——>index segment——>os cache(commit)——>os disk在这时候,buffer会被清空,同时web端可以搜索到刚才插入的数据了。以上是的插入的过程:如果是删除的时候,每次commit的时候,文件就会标记为.del,再次搜索过来的时候,...原创 2018-10-07 22:53:19 · 431 阅读 · 0 评论 -
听课笔记(66讲)
第66讲一个field的类型,是不可以再进行修改的,只能通过:重建新的mapping,然后将数据重新插入进去。这样可以使用scroll批量查数据 ...原创 2018-10-07 20:39:42 · 182 阅读 · 0 评论 -
elasticsearch中数据库类型之间的切换
数据库类型之间的切换:假如本来是存储string类型的数据库,错误地存储成了date,导致后边存储string类型的数据的时候存储不进去,怎么办呢?再创建一个数据库,将之前的数据库设置别名,然后 将现在的数据库设置文本存储的类型,为text类型将之前的数据库中的数据批量查询出来,在现在数据库中批量存储进去最后将新的数据库的别名设置为原来数据库别名之前的名字最后将之前数据库的别名切换...原创 2018-10-12 23:41:19 · 1106 阅读 · 0 评论 -
分布式文档新系统(29讲—30讲)
第29讲:document数据路由原理第三十讲:document进行增删改内部的实现原理原创 2018-10-06 22:30:27 · 134 阅读 · 0 评论 -
ElasticSearch的结构讲解(11讲—20讲)
第十一讲:课程大纲1、图解2个node环境下replica shard是如何分配的(1)replica shard分配:3个primary shard,3个replica shard,1 node(2)primary ---> replica同步(3)读请求:primary/replica第十二讲:课程大纲1、图解横向扩容过程,如何超出扩容极限,以及如何提升容...原创 2018-10-06 08:35:59 · 548 阅读 · 0 评论 -
ElasticSearch的基本知识(2讲—10讲)
第2讲课程大纲大白话、什么是ElasticsearchElasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统1、什么是搜索?2、如果用数据库做搜索会怎么样?3、什么是全文检索、倒排索引和Lucene?4、什么是Elasticsearch?----------------------------------------------------------...原创 2018-10-05 23:38:31 · 441 阅读 · 0 评论 -
课程概况:第1讲
课程大纲1、讲师自我介绍2、讲课风格介绍3、课程内容介绍---------------------------------------------------------------------------------------------------------------------------------------------1、讲师自我介绍(1)中华石杉(2)BA...原创 2018-10-05 23:32:57 · 390 阅读 · 0 评论 -
分布式文档bulcket批量增删改(27讲—28讲)
第27节笔记: bulk 中任意一个操作失败是不会影响整个操作的,但是在最后会有提示。 第28讲:总结:原创 2018-10-05 23:17:24 · 179 阅读 · 0 评论 -
ElasticSearch - 自定义分析器
ElasticSearch的分析器实际上是将三个功能封装在一起,这三个功能按照顺序执行,而这三个功能都是能自定义的字符过滤器 (char_filter)首先,字符串按顺序通过每个字符过滤器,他们的任务是在分词前整理字符串一个字符过滤器可以用来去掉HTML,或者将&转化成and分词器 (tokenizer)其次,字符串被分词器分爲单个的词条,一个简单的分词器遇到空格和标点...原创 2018-10-11 23:23:40 · 345 阅读 · 0 评论 -
ES中文件的导入导出
#!/bin/bashIP=$(ifconfig | grep 'inet'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $2}')elasticdump --input /usr/installed/ssa_platform/esdata/ipscan.json --output http://${IP}:9201"/ipscan"...原创 2018-09-21 19:47:37 · 3691 阅读 · 0 评论 -
elasticsearch在数据库中更新、删除、插入数据的原理(重点)
第68讲 数据——>buffer——>index segment——>os cache(commit)——>os disk在这时候,buffer会被清空,同时web端可以搜索到刚才插入的数据了。以上是的插入的过程:如果是删除的时候,每次commit的时候,文件就会标记为.del,再次搜索过来的时候,看到segment中的数据是.del状态,就不会被查询到了。...原创 2018-10-12 23:55:32 · 2615 阅读 · 0 评论 -
ElasticSearch部分的复习总结(第1讲—第20讲)
(7)shard:单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。每个shard都是一个lucene index。(8)replica:任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replic...原创 2018-10-06 22:38:48 · 193 阅读 · 0 评论 -
ElasticSearch中定制化dynamic的策略
DELETE /my_indexPUT /my_index{ "mappings": { "my_type": { "dynamic" : "strict", //规定如果添加新的field会报错 "properties": { "title" : { "type": "te原创 2018-10-07 20:11:42 · 672 阅读 · 0 评论 -
听课笔记(63讲—65讲)
第63讲type就是index中用来区分数据的所有的字,在Lucene中存储的时候,都是按照二进制码的形式存储的。一个index下不可以有多个type重名第64讲properties是用来配置type中有多少个field(type,index,analyzer)type就是配置field的类型index配置要不要分词analyzer来配置适用于那个分...原创 2018-10-07 18:07:38 · 248 阅读 · 0 评论 -
Elasticsearch(自定义分析器)
自定义分析器虽然Elasticsearch内置了一系列的分析器,但是真正的强大之处在于定制你自己的分析器。你可以通过在配置文件中组合字符过滤器,分词器和表征过滤器,来满足特定数据的需求。分析器 是三个顺序执行的组件的结合(字符过滤器,分词器,表征过滤器)。 字符过滤器 字符过滤器是让字符串在被分词前变得更加“整洁”。例如,如果我们的文 本是HTML格式,它可能会包含一...原创 2018-10-07 17:08:33 · 2538 阅读 · 1 评论 -
使用kibana对elasticsearch进行基本的增删改查
创建索引的方式是使用put 直接添加索引查看索引的配置:默认的分片是5个,默认的备份是1个。查看所有索引的配置: 创建文档,并且指定ID:在不指定ID的情况下会自动生成。 对于指定ID文档的查看: 对于不指定ID文档的查看: 这样每个文档的所有字段都显示出来了。只查看某几个字段的值:修改:也就是覆盖掉之前的...原创 2018-10-06 23:00:42 · 2764 阅读 · 0 评论 -
听课笔记(21讲——28讲)
第21讲简单来说就是每次更新都要带上上一次的版本号。第22讲 第23讲第24讲 前边之前的版本是错误的,后边的是修改之后可执行的正确的。第25讲 并发所的retry策略:当更新的时候,遇到冲突的时候,我们可以通过设置retry来设定重试几次,比如5次。就是再次获取document的版本号,...原创 2018-10-06 22:30:10 · 1288 阅读 · 0 评论 -
听课笔记(46讲—60讲)
第46讲第47讲 第48讲 must:必须包含should:可以满足,也可以不满足must not:不能包含第49讲filter:只是按照搜索条件进行过滤query:会计算相关度,并且还会有一个排序filter的性能更高一些。第50讲 range qu...原创 2018-10-06 22:37:59 · 299 阅读 · 0 评论 -
听课笔记(34讲—45讲)
第34讲 也就是说:本来不设定timeout的时候,搜索多少数据,等到全部搜索完成以后全部返回,但是加上timeout之后,在timeout时间范围内,必须将所搜索到的数据返回来。第35讲第36讲分页实验deep paging。。。 第37讲第38讲第39讲第40讲第41讲分词器:拆...原创 2018-10-06 22:37:31 · 269 阅读 · 0 评论 -
听课笔记(31讲—33讲)
第31讲 第32讲第33讲 第34讲原创 2018-10-06 22:31:07 · 265 阅读 · 0 评论 -
es中must和should的用法
GET gather-034-20171225/_search{ "query": { "bool": { "must": [ {"range": { "recive_time": { "gte": "2017-12-25T01:00:00.000Z", &q原创 2018-11-13 10:08:13 · 83033 阅读 · 0 评论