您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ES入门与进阶

宝哥大数据 发布时间:2019-02-07 14:22:48 ,浏览量:0

ES 类比 MySql MySqlESdatabase(数据库)index(索引库)table(表)type(类型) 7.x被废弃row(行)document(文档)column(列)field(字段) 一、ES介绍

  Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

二、ES安装  1.1、ES的安装  1.2、ik分词器 1.3、es7.9.3安装&kibana&同义词&ik分词器&拼音 三、ES基本操作  1.2、ES语法  1.3、ES核心概念 四、使用java操作ES 五、Query DSL 【代码】

由ES提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许你构建更加复杂、强大的查询。DSL(Domain Specific Language特定领域语言)以 JSON 请求体的形式出现。

DSL = DSL查询 + DSL过滤

DSL 过滤简单理解为就是精确查询,而DSL查询是模糊查询(LIKE).由于查询需要做相关度排序,并且过滤可以缓存.所有过滤的效率高于查询.所以只有必须要用查询的时候才用它(模糊查询),否则都用过滤.

DSL过滤语句和DSL查询语句非常相似,但是它们的使用目的却不同:

  • DSL过滤查询文档的方式更像是对于我的条件“有”或者“没有”,而DSL查询语句则像是“有多像”。

DSL过滤和DSL查询在性能上的区别:

  • 过滤结果可以缓存并应用到后续请求。
  • 查询语句同时匹配文档,计算相关性,所以更耗时,且不缓存。
  • 过滤语句可有效地配合查询语句完成文档过滤。

原则上,使用DSL查询做全文本搜索或其他需要进行相关性评分的场景,其它全用DSL过滤

 5.0、数据准备  5.1、复合查询(Compound queries)  5.2、Full text queries   5.2.1、match查询  5.3、Term-level queries   5.3.1、term&terms查询   5.3.2、IDs 查询   5.3.3、模糊查询(prefix,fuzzy,wildcard,range,regexp)  5.4、经纬度查询  5.5、深分页Scroll  5.7、delete-by-query  5.8、filter  5.9、高亮  5.10、聚合操作  5.11、update-by-query ES遇到的问题 六、高级篇  6.1、ES数据库重建索引——Reindex(数据迁移)  6.2、版本升级   6.2.1、ES7 版本变化
  • 废弃了 type,没有类型的概念;
  • 废弃 TransportClient,只能使用 restclient。
  6.3、Elasticsearch 源码解析与优化实战(张超)----笔记

作者是基于 6.1.2, 本人在他的基础上梳理ES7.9.3, 可能部分章节未更新到,以及有问题的地方,请指正,谢谢!

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0517s