随笔分类 - elasticsearch
一种分布式的数据库
摘要:在kibana中: POST index/type/_id/_update { "doc" : { "is_algorithm" : 1 } } 这个是修改_id对应的文档的is_algorithm的值为1。
阅读全文
摘要:查看单节点Elasticsearch健康状态 使用head插件查看集群状态 从上面截图可以看出存在5个unassigned的分片,新建索引blog5的时候,分片数为5,副本数为1,新建之后集群状态成为yellow,其根本原因是因为集群存在没有启用的副本分片,我们先来看一下官网给出的副本分片的介绍:
阅读全文
摘要:原文链接: https://www.jianshu.com/p/297e13045605 集群(cluster): 由一个或多个节点组成, 并通过集群名称与其他集群进行区分 节点(node): 单个 ElasticSearch 实例. 通常一个节点运行在一个隔离的容器或虚拟机中 索引(index):
阅读全文
摘要:以下是字段子串聚合,截取 'your_field' 前八位进行聚合的 Script script = new Script("doc['your_field'].getValue().substring(0,8)"); CardinalityAggregationBuilder pointCardi
阅读全文
摘要:regexp表面意思就是正则查询,但是如果遇到,查询条件中包含特殊的字符串, 就会发现,需要进行相应的转义处理 需要处理Lucene regexps即可:
阅读全文
摘要:聚合子查询: 以上demo的大致的意思就是,先对city_code字段进行聚合,然后对聚合结果,再用dt_ids字段进行嵌套聚合(子聚合) , 相当于sql的两个group by , 一个聚合嵌套于另一个聚合之内,可以用subAggregation方法进行关联。 然后就是对聚合结果的遍历: 思路就是
阅读全文
摘要:es 对于text类型其实是分词存储的,但是有时候在聚合的时候,会发现这种情况下,会把字段分词后进行聚合。例如(1)A,B (2)B,C 然后聚合后B就是2个,A和C各一个。 这需要看业务需求了,如果确实需要这样的,就完美契合了,如果不希望这样分词起来再聚合,就是需要进行设置字段keyword,因为
阅读全文
摘要:在elasticsearch中如果要对几个字段进行查询,然后其中有一个字段可以有多个取值的时候,正常想到的要用should,其实就是或的关系。但是正确的做法,应该是把should并列的条件整合到一个bool查询,然后嵌套到must之中去。而不是和must并列。项目中,也用了错误的写法,然后发现mus
阅读全文
摘要:注意: es版本至少6.1以上 语句: 部分解释: 最外层的size=0,表示该查询不返回详情,只返回聚合结果; query中使用一个must列表对数据进行过滤; terms实现分桶的功能,类似于sql中的分组功能; terms中的shard_size表示每个分片返回的数据量,size表示返回的桶的
阅读全文
摘要:ElasticSerch 的连接查询有两种方式实现 ElasticSerch 的连接查询有两种方式实现 nested parent和child关联查询 nested parent和child关联查询 nested nested 存储结构 nested的方式和其他字段一样,在同一个type里面存储,以
阅读全文
摘要:本文demo基于elasticsearch 5.1.1, 项目中使用的还是较早的版本 例如 以上可以查询索引类型中对应的字段是 建一个users索引, 有一个类型是user, id为 2。 有个followers字段,是数组。 建一个tweets索引。其类型是tweet, id为1. 然后查询twe
阅读全文
摘要:ElasticsearchTemplate是spring对java api的封装 maven依赖: spring bean配置 spring-es.xml autowired注入实例: 分页查询demo:
阅读全文
摘要:用head查询: demo如下
阅读全文
摘要:直接用put方法创造一个东西出来 然后post请求,设置mapping
阅读全文
摘要:http://192.168.60.26:9200/linewell_assets_mgt_es_yh_test/lw_devices/ _mapping { "properties": { "country_value": { "type": "text", "fielddata": true }, ...
阅读全文
摘要:elasticsearch bool条件查询里面条件的数量是有限制的,比如terms里面相等的值的数量个数 添加: indices.query.bool.max_clause_count: 1000000,在/config/elasticsearch.yml就可以了。
阅读全文
摘要:这个原因是scroll的时间设置不够久,设久一些就可以了。
阅读全文
摘要:在elasticsearch-head中:
阅读全文
摘要:找到conf目录下的jvm.options文件,找到如下的配置行: 我将之前的UTF-8 改成GBK,ok。
阅读全文