Am mai jos jurnale similare.
Am creat manechin index și creat cartografiere ca mai jos în instrumente de dezvoltare
Pune nou
{
  „mappings”: {
    „proprietăți”: {
      "@timestamp-ul": {
        "tip": "data",
        „format”: „aaaa-LL-zz HH:mm:ss.SSS”
      }
    }
  }
}
și indexate date ca mai jos,
PUT /new/_doc/1
{
  „@timestamp”: „2021-11-05 08:12:14.534”,
  "nivel": "INFO",
  "id": "1",
  "text": "site-ul web este accesat",
  „status”: „s-a făcut clic”
}
PUT /new/_doc/2
{
  „@timestamp”: „2021-10-14 09:11:14.534”,
  "nivel": "INFO",
  "id": "3",
  "text": "site-ul web este accesat",
  „status”: „s-a făcut clic”
}
PUT /new/_doc/3
{
  „@timestamp”: „2021-09-09 02:08:20.534”,
  "nivel": "INFO",
  "id": "4",
  "text": "site-ul web este accesat",
  „status”: „s-a făcut clic”
}
Pot obține numărul total folosind mai jos cerere interogare,
GET nou/_căutare
{
  „aggs”: {},
  "dimensiune": 0,
  "câmpuri": [],
  „interogare”: {
    „bool”: {
      "trebuie sa": [],
      "filtru": [
        {
          „bool”: {
            "ar trebui să": [
              {
                „match_phrase”: {
                  "text": "site-ul web este accesat"
                }
              }
            ],
            „minimum_should_match”: 1
          }
        },
        {
          "gamă": {
            "@timestamp-ul": {
              "gte": "2021-10-01",
              "lte": "2021-10-30"
            }
          }
        }
      ],
      "ar trebui să": [],
      "nu trebuie să": []
    }
  }
}
Primind raspuns ca mai jos,
{
  "a luat": 0,
  "timed_out": fals,
  „_shards” : {
    "total": 1,
    "de succes": 1,
    „sărit”: 0,
    „eșuat”: 0
  },
  „hituri” : {
    „total” : {
      „valoare”: 1,
      „relație”: „echivalent”
    },
    „max_score”: nul,
    "hituri": [ ]
  }
}
După cum vezi, trebuie cod greu cel Data pentru a prelua valoarea pentru un anume lună adică pentru a prelua aceleași informații pentru sept lună, trebuie să modific interval de date și oră ca mai jos în cererea de bucle,
"gamă": {
  "@timestamp-ul": {
    "gte": "2021-09-01",
    "lte": "2021-09-30"
    }
    }
Mai jos este cerere de apel curl.
curl -u elastic:xxx -XGET „http://10.10.10.10:9200/new/_search?pretty” -H „Content-Type: application/json” -d”
{
  „aggs”: {},
  "dimensiune": 0,
  "câmpuri": [],
  „interogare”: {
    „bool”: {
      "trebuie sa": [],
      "filtru": [
        {
          „bool”: {
            "ar trebui să": [
              {
                „match_phrase”: {
                  "text": "site-ul web este accesat"
                }
              }
            ],
            „minimum_should_match”: 1
          }
        },
        {
          "gamă": {
            "@timestamp-ul": {
              "gte": "2021-10-01",
              "lte": "2021-10-30"
            }
          }
        }
      ],
      "ar trebui să": [],
      "nu trebuie să": []
    }
  }
}'
Cum pot trece an și lună dinamic (adică fără a codifica efectiv cererea în sine) la cererea curl care va prelua informațiile pentru acel anume lună, an?
Actualizați -
Pot obține rezultatele pentru luna trecută (noiembrie) sau ultimele 2 luni (oct.) și așa mai departe folosind mai jos,
luna trecuta -  nov -
"gte": "acum-M",
"lt": "acum/M"
2 luni  - oct
"gte": "acum-2M/M",
"lte": "acum-2M/M"
Dar există o modalitate de a oferi dorit an și lună pentru a recupera rezultate?
Mulțumiri,