My Blogs

log-store analyse

Tags: Linux

Published 2023年02月24日 17:47 by james

process-exporter: Prometheus exporter that mines /proc to report on selected processes.

# process_exporter_config.yml
process_names:
  - comm:
    - squid
    - prometheus
    - alertmanager
    - nginx
    - haproxy
    - …

Elasticsearch Advanced Practice

Tags: Elasticsearch

Published 2023年02月23日 17:56 by james

must vs. filter

GET /test-tracing-span-*/_search

{
  "query": {
    "terms": {
      "component": [ "http", "grpc", "gateway" ]
    }
  },
  "aggs": {
    "group-by-service": {
      "terms" …

Elasticsearch 相关概念

Tags: Elasticsearch

Published 2023年02月23日 11:08 by james

搜索过程

搜索过程大致包括如下步骤:

  1. 用户输入查询语句。
  2. 对查询语句进行语法分析和语言分析,得到一系列词(Term)。
  3. 通过语法分析得到一个查询树。
  4. 利用查询树搜索索引,从而得到每个词的文档链表,对文档链表进行交、差操作,并得到结果文档。
  5. 将搜索到的结果文档按查询的相关性进行排序。
  6. 返回查询结果给用户。

查询

布尔查询

布尔查询有以下两个特点:

  1. 子查询可以以任意顺序出现。
  2. 查询语句中可以嵌套多个查询条件,其中包括布尔查询。布尔查询包含以下4种操作符,并且它们均是一种数组,数组中是对应的判断条件。

    • must:必须匹配 (返回结果中评分字段的结果有意义)。
    • must_not:过滤子句,必须不能匹配 (返回结果中评分字段的结果无意义)。
    • should: 选择性匹配,至少满足一条 (返回结果中评分字段的结果有意义)。
    • filter: 过滤子句,必须匹配 (返回结果中评分字段的结果无意义)。

查询上下文

查询上下文中使用的查询子句需要解决的问题是“此文档与此查询子句的匹配程度如何? …

Neo4j 知识总结

Tags: Neo4j

Published 2023年02月02日 15:00 by james

Root to leaf in a tree

MATCH p=(parent:Root)-[:HAS_CHILD*1..10]->(child:Node)
WHERE NOT (child …

ElasticSearch 聚合查询

Tags: Elasticsearch

Published 2023年01月31日 18:50 by james

单个条件查询

GET /test-tracing-span-2023-02-01/_search
{
  "query": {
    "term": {
      "region_name": "sg"
    }
  }
}

等价于SQL

SELECT * …