新聞中心
PHP通過API對ES進行搜索后發(fā)現(xiàn)只能獲取10條數(shù)據(jù),搜索語句如下:
其余ES如果沒有指定SIZE的話,默認是10條
http://elasticsearch-py.readthedocs.io/en/master/api.html#elasticsearch.Elasticsearch.search
但是size也不能超過10000,否則也會報錯。
修改搜索語句如下:
{ "size": 10000, "query": { "filtered": { "query": { "query_string": { "query": "level:\"警告\" AND source_name:\"ASP.NET\" ", "analyze_wildcard": true } }, "filter": { "bool": { "must": [ { "range": { "@timestamp": { "gte": 1494309300, "lte": 1494489299, "format": "epoch_second" } } } ], "must_not": [] } } } } }即可
經(jīng)過以上還會出現(xiàn)問題,就是當數(shù)據(jù)超過一定量的時候,無法獲取最新數(shù)據(jù),原因是每次獲取數(shù)據(jù)都是從1到10000條,當10000條之后的數(shù)據(jù)就無法顯示了。基于此我們不建議時間跨度超過10000條數(shù)據(jù),防止數(shù)據(jù)丟失。因此我們需要對其進行時間排序,讓最新的數(shù)據(jù)靠前:
{ "size": 10000, "sort": [ { "@timestamp": { "order": "desc", "unmapped_type": "boolean" } } ], "query": { "filtered": { "query": { "query_string": { "query": "level:\"警告\" AND source_name:\"ASP.NET\" ", "analyze_wildcard": true } }, "filter": { "bool": { "must": [ { "range": { "@timestamp": { "gte": 1494309300, "lte": 1494489299, "format": "epoch_second" } } } ], "must_not": [] } } } } }另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
名稱欄目:PHP通過API搜索elasticsearch只獲得10條數(shù)據(jù)-創(chuàng)新互聯(lián)
本文地址:http://www.dlmjj.cn/article/cedsih.html