摘要:### es 查询多个索引 * 第一种做法: 多个索引,用逗号隔开 ``` GET /book_2020_09,book_2021_09/_search ``` * 第二种做法: 可以用 * 模糊匹配。。比如 book* ,表示查询所有 book开头的 索引。 ``` GET /book*/_sea
阅读全文
摘要:es 7.0常用的命令 es 7.0中只有索引和文档(document),没有类型(type)了。 es 根据条件查询文档: GET /索引名称/_search 详细的 查询见: https://blog.csdn.net/sinat_32502451/article/details/1343670
阅读全文
摘要:es概念 Q:讲一下 elasticSearch。 可以从应用场景、概念、原理、优劣等多方面讲。 es应用场景:全文索引、近实时数据分析 优势:海量数据,支持亿万级别的搜索分析,近实时,支持并发。 劣势:不支持事务,不支持JOIN。 倒排索引 Q:elasticSearch 的倒排索引是什么? 传统
阅读全文
摘要:使用场景 使用es时,有时我们需要先过滤后再聚合,但如果直接在query的filter中过滤,不止会影响到一个聚合,还会影响到其他的聚合结果。 比如,我们想要统计深圳市某个品牌的总销售额,以及该品牌的女款衣服的销售额。 直接filter过滤款式为女,那么就无法统计总销售额了。 这时可以使用Filte
阅读全文
摘要:searchAfter深度分页 es一次只能查1万条数据,如果超过1万,会报错如下: "reason": { "type": "query_phase_execution_exception", "reason": "Result window is too large, from + size m
阅读全文
摘要:RestHighLevelClient es的客户端有 RestClient、 TransportClient 、 RestHighLevelClient, RestClient、 TransportClient不适合高版本的es,官方推荐使用RestHighLevelClient. maven配置
阅读全文
摘要:es批量插入数据的示例 /** * 批量插入数据 * @param client es客户端 * 如果没有现成的client, 获取client的代码以及jar包,详情见 https://www.cnblogs.com/expiator/p/15735701.html * @param list 对
阅读全文
摘要:java查看es索引是否存在 /** * 判断指定的索引名是否存在 * * @param indexName 索引名 * @return 存在:true; 不存在:false; */ public static boolean isExistsIndex(String indexName) { //
阅读全文
摘要:TransportClient TransportClient客户端,官方在es 7.0版本中将弃用TransportClient客户端,且在8.0版本中完全移除它. es 7.0及以上的版本,请使用 RestHighLevelClient。 如果项目中使用的es版本不高,可以使用 Transpor
阅读全文
摘要:should 在使用es时,如果需要用到or逻辑,可以使用should。 minimum_should_match should,可以配合 minimum_should_match 使用。 minimum_should_match是最低匹配度, minimum_should_match为1, 表示s
阅读全文
摘要:查看es集群状态: curl -XGET http://localhost:9200/_cat/health?v 如果?后面加上pretty,能让返回的json格式化。 加上?v的返回结果,如下: epoch timestamp cluster status node.total node.data
阅读全文
摘要:使用场景 平常我们使用es,都会先查询、过滤后再进行聚合,但有时也需要在聚合后再过滤, 这时可以使用"后置过滤器",也就是PostFilter。 实践理解 阅读了官方文档后,感觉学习还是要多动手,才会理解更透彻。 参考官方文档,列举了以下例子。可以跟着动手玩一下。 新建索引: PUT /shirts
阅读全文
摘要:使用场景 使用es聚合时,有时还需要获取query(或filter) 的相关文档结果(数据)。 比如统计各个地区编码的营业额,得到了聚合的统计结果,还想知道query结果中对应的地区名称,并根据营业额进行排序, 这时可以使用 top_hits。 top_hits属性 top_hits有以下的属性:
阅读全文
摘要:在使用es时,我们经常会用到聚合查询。 简单的聚合查询,已经在前面介绍过,详情见: https://www.cnblogs.com/expiator/p/13843969.html 有时,也会用到多字段聚合查询。类似于Mysql的Group By多个字段。 比如,查询统计各个地区的各个日期,各自的订
阅读全文
摘要:常见查询的DSL: 首先是es常见的DSL语句: GET index名称/type名称/_search { "size" : 10000, "query" : { "bool" : { "must" : [ { "range" : { "范围查询字段" : { "from" : "2020-10-2
阅读全文
摘要:聚合(Aggregation)概念 Bucket Aggregation, 桶聚合,即将稳定按照特定列的值分到不同桶中 Metric Aggregation, 度量聚合,对文档数据的聚合结果进行运算,类似SQL中的聚合函数(比如 max min avg 等) Pipeline Aggregation
阅读全文
摘要:### DSL查询: DSL全称Domain Specific language,即特定领域专用语言。 DSL,把查询条件写在JSON里面,然后进行相关的查询。 DSL主要分为查询DSL(query DSL)和过滤DSL(filter DSL)。 #### query DSL: query matc
阅读全文
摘要:### Elasticsearch 介绍 * Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎。可以快速且近实时地存储,检索以及分析海量数据。 ### Elasticsearch 应用场景: * 提供搜索和自动完成功能。 * ELK(Elasticsearch/Logstash
阅读全文