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.1.2, 本人在他的基础上梳理ES7.9.3, 可能部分章节未更新到,以及有问题的地方,请指正,谢谢!