elasticsearch python下的使用

2021-09-08 12:12:19 字數 1945 閱讀 9463

最有用的:

不錯的部落格:

其他1:

其他2:

上面鏈結有點老了。新鏈結

1.查詢索引中的所有內容

#

coding=utf8

from elasticsearch import

elasticsearch

es = elasticsearch()

index = "

test

"query = }}

resp = es.search(index, body=query)

resp_docs = resp["

hits

"]["

hits"]

total = resp['

hits

']['

total']

print

total #總共查詢到的數量

print resp_docs[0]['

_source

']['

@timestamp

'] #輸出乙個字段

2.用scroll分次查詢所有內容+複雜條件

過濾條件:欄位a不為空且字段b不為空,且時間在過去10天~2天之間

#

coding=utf8

from elasticsearch import

elasticsearch

import

json

import

datetime

es = elasticsearch()

index = "

test

"query =}, \

"must_not

":}, \

} \}, \

"filter":}}}\

} \}

resp = es.search(index, body=query, scroll="

1m",size=100)

scroll_id = resp['

_scroll_id']

resp_docs = resp["

hits

"]["

hits"]

total = resp['

hits

']['

total']

count =len(resp_docs)

datas =resp_docs

while len(resp_docs) >0:

scroll_id = resp['

_scroll_id']

resp = es.scroll(scroll_id=scroll_id, scroll="1m"

) resp_docs = resp["

hits

"]["

hits"]

datas.extend(resp_docs)

count +=len(resp_docs)

if count >=total:

break

print len(datas)

3.聚合

檢視一共有多少種@timestamp欄位

#

coding=utf8

from elasticsearch import

elasticsearch

es = elasticsearch()

index = "

test

"query = }}}

resp = es.search(index, body=query)

total = resp['

hits

']['

total']

print

total

print resp["

aggregations

"]

Linux下的packet socket使用總結

上節講到的raw socket雖然已經能處理ip層的資料了,但是在實際的應用中可能需要獲取更加底層的報文資訊。這就需要用到另一種更加強大的socket建立方式 packet socket,建立之後直接可以操作包括以太層在內的報文資料。packet socket的建立方式如下 socket af pa...

linux下的EDA primetime使用

primetime是進行靜態時序分析 sta 的工具,根據設計者給出的時序約束來對電路進行分析觀察設計是否滿足時序要求。pt能夠提供以下檢查 建立時間和保持時間檢查 時鐘脈衝寬度的檢查 時鐘門的檢查 未約束的時鐘端點 組合反饋迴路等。需要注意的是pt的輸入檔案是門級網表,一般先要通過dc將rtl級電...

Linux下的packet socket使用總結

pcap的實現即基於此介面,在實際專案中因為經常因為開源軟體被審計,自己使用此介面實現了二層報文的收發。介面使用如下 上節講到的raw socket雖然已經能處理ip層的資料了,但是在實際的應用中可能需要獲取更加底層的報文資訊。這就需要用到另一種更加強大的socket建立方式 packet sock...