ฉันมีบันทึกที่คล้ายกันด้านล่าง
ฉันได้สร้างหุ่นจำลอง ดัชนี
และสร้าง การทำแผนที่
เช่นด้านล่างใน เครื่องมือพัฒนา
ใส่ใหม่
{
"การจับคู่": {
"คุณสมบัติ": {
"@timestamp": {
"ประเภท": "วันที่",
"รูปแบบ": "yyyy-MM-dd HH:mm:ss.SSS"
}
}
}
}
และ จัดทำดัชนี
ข้อมูลดังต่อไปนี้
ใส่ /new/_doc/1
{
"@timestamp": "2021-11-05 08:12:14.534",
"ระดับ": "ข้อมูล",
"รหัส": "1",
"ข้อความ": "มีการเข้าถึงเว็บไซต์",
"สถานะ": "คลิก"
}
ใส่ /new/_doc/2
{
"@timestamp": "2021-10-14 09:11:14.534",
"ระดับ": "ข้อมูล",
"รหัส": "3",
"ข้อความ": "มีการเข้าถึงเว็บไซต์",
"สถานะ": "คลิก"
}
ใส่ /new/_doc/3
{
"@timestamp": "2021-09-09 02:08:20.534",
"ระดับ": "ข้อมูล",
"รหัส": "4",
"ข้อความ": "มีการเข้าถึงเว็บไซต์",
"สถานะ": "คลิก"
}
ฉันสามารถดึงข้อมูลจำนวนทั้งหมดโดยใช้ด้านล่าง ขอ
แบบสอบถาม
รับใหม่/_search
{
"aggs": {},
"ขนาด": 0,
"ฟิลด์": [],
"แบบสอบถาม": {
"บูล": {
"ต้อง": [],
"กรอง": [
{
"บูล": {
"ควร": [
{
"match_phrase": {
"ข้อความ": "มีการเข้าถึงเว็บไซต์"
}
}
]
"minimum_should_match": 1
}
},
{
"พิสัย": {
"@timestamp": {
"gte": "2021-10-01",
"lte": "2021-10-30"
}
}
}
]
"ควร": [],
"ต้องไม่": []
}
}
}
ได้รับ การตอบสนอง
ดังต่อไปนี้,
{
"เอา" : 0,
"timed_out" : เท็จ
"_shards" : {
"ทั้งหมด" : 1,
"ประสบความสำเร็จ" : 1,
"ข้าม" : 0,
"ล้มเหลว" : 0
},
"ฮิต" : {
"ทั้งหมด" : {
"มูลค่า" : 1,
"ความสัมพันธ์" : "เสมอ"
},
"max_score" : null,
"ฮิต" : [ ]
}
}
อย่างที่คุณเห็นฉันต้อง ฮาร์ดโค้ด
เดอะ วันที่
เพื่อดึงค่าเฉพาะ เดือน
นั่นคือการดึงข้อมูลเดียวกันสำหรับ กันยายน
เดือนฉันต้องแก้ไข ช่วงวันที่และเวลา
ตามด้านล่างในคำขอ curl
"พิสัย": {
"@timestamp": {
"gte": "2021-09-01",
"lte": "2021-09-30"
}
}
ด้านล่างนี้คือ คำขอโทรขด
.
curl -u ยืดหยุ่น:xxx -XGET "http://10.10.10.10:9200/new/_search?pretty" -H 'ประเภทเนื้อหา: แอปพลิเคชัน/json' -d'
{
"aggs": {},
"ขนาด": 0,
"ฟิลด์": [],
"แบบสอบถาม": {
"บูล": {
"ต้อง": [],
"กรอง": [
{
"บูล": {
"ควร": [
{
"match_phrase": {
"ข้อความ": "มีการเข้าถึงเว็บไซต์"
}
}
]
"minimum_should_match": 1
}
},
{
"พิสัย": {
"@timestamp": {
"gte": "2021-10-01",
"lte": "2021-10-30"
}
}
}
]
"ควร": [],
"ต้องไม่": []
}
}
}'
ผ่านไปได้ยังไง ปี
และ เดือน
แบบไดนามิก (เช่นไม่มีการขอฮาร์ดโค้ดจริง ๆ ) ไปยังคำขอ curl ซึ่งจะดึงข้อมูลสำหรับรายการนั้น ๆ เดือน
, ปี
?
อัปเดต -
ฉันสามารถรับผลลัพธ์ของเดือนที่แล้ว (พ.ย.) หรือ 2 เดือนที่ผ่านมา (ต.ค.) เป็นต้นโดยใช้ด้านล่าง
เดือนที่แล้ว - พ.ย
-
"gte": "ตอนนี้-M",
"lt": "ตอนนี้/M"
2 เดือน - ต.ค
"gte": "ตอนนี้-2M/M",
"lte": "ตอนนี้-2M/M"
แต่มีวิธีการให้ที่ต้องการ ปี
และ เดือน
เพื่อดึงผลลัพธ์?
ขอบคุณ,