Упругий поиск Список всех ключей для соответствующего условия с временным диапазоном - PullRequest
0 голосов
/ 10 мая 2019

Я должен искать в ES, чтобы распечатать поля, когда это соответствует условию в течение определенного периода времени.

Попробовал приведенный ниже запрос на совпадение с одним номером за последние 24 часа, и он не дал мне вывода

{
    "query": {
        "bool": {
            "must": {
                "match_phrase": {
                    "Number": "1234567"
                }
            },
            "filter": {
                "range": {
                    "@timestamp": {
                        "gte": "now-1d/d"
                    }
                }
            }
        }
    }
}' 

Я ищу запрос для перечисления всех номеров за последние 24 часа. Есть ли способ получить это.

Сопоставления для индекса, по которому я веду поиск:

{
  "_index": "data-changes",
  "_type": "_doc",
  "_id": “123456”,
  "_version": 132,
  "_score": 0,
  "_source": {
    "work_notes": "",
    "priority": "4 - Low",
    "planned_start": 1557464400000,
    "Updated_by": "system",
    "Updated": 1557464427000,
    "description": “test of 123456“,
    "phase": "Requested",
    "Number": “123456”,
    "cmdb_ci": "",
    "review_status": "",
    "impact": "No - No impact",
    "phase_state": "Open",
    "Requested_by": “guest”,
    "requested_by_group": “guest_ninja”,
    "Short_description": “ninja rollout“,
    "risk": "Low",
    "actual_end": 0,
    "knowledge_id": "",
    "change_manager_group": “ninja_world_one”,
    "approval": "Approved",
    "downtime": "false",
    "close_notes": "",
    "Standard_template_version": "",
    "User_input": "",
    "ci_class": "Application",
    "category": "Other",
    "created_on": 1557426592000,
    "Created_by": “guest”,
    "Opened_by": “guest”,
    "State": "Implement",
    "availability_impacted": "None expected",
    "planned_end": 1557478800000,
    "close_code": null,
    "actual_start": 1557464427000,
    "closed_by": "",
    "Record_url": “http://localhost:8080”,
    "Type": "Normal"
  },
  "fields": {
    "planned_start": [
      "2019-05-10T05:00:00.000Z"
    ],
    "actual_start": [
      "2019-05-10T05:00:27.000Z"
    ],
    "actual_end": [
      "1970-01-01T00:00:00.000Z"
    ],
    "Updated": [
      "2019-05-10T05:00:27.000Z"
    ],
    "created_on": [
      "2019-05-09T18:29:52.000Z"
    ]
  },

1 Ответ

0 голосов
/ 10 мая 2019

Ваш запрос ничего не возвращает, потому что в вашем документе нет поля @timestamp.Вам необходимо использовать существующее поле даты, например planned_start, например:

{
    "query": {
        "bool": {
            "must": {
                "match_phrase": {
                    "Number": "1234567"
                }
            },
            "filter": {
                "range": {
                    "planned_start": {
                        "gte": "now-1d/d"
                    }
                }
            }
        }
    }
}' 
...