2016-07-29 40 views
0

我們已經爲我們的服務器日誌配置了ELK。PHP-Elasticsearch不會返回像Kibana這樣的所有結果

我們想用PHP查詢elasticsearch。以下是我們的代碼:

//Change URL Accordingly 
$elasticServer = ["172.29.106.202:9200"]; //Server IP/Name 

//Create Elastic Search Object 
$client = Elasticsearch\ClientBuilder::create() 
     ->setHosts($elasticServer) 
     ->setRetries(0) 
     ->build(); 

$result = new stdClass(); 

$params = array(); 
$params['index'] = '*'; //search all index 
$params['type'] = 'Beta Logs from 51.66'; 
$params['body']['query']['match']['message'] = "Action:read_session"; 
$result->searches = $client->search($params); 

這將返回一組數據。但是,返回的數據與我從Kibana UI獲得的數據不相似。

更新

下面是指數的我的服務器列表:

health status index       pri rep docs.count docs.deleted store.size pri.store.size 
yellow open localbeta-logstash-2016.07.24 5 1  57231   0  39.7mb   39.7mb 
yellow open localbeta-logstash-2016.07.25 5 1  126438   0  41.2mb   41.2mb 
yellow open localbeta-logstash-2016.07.26 5 1  109705   0  42.8mb   42.8mb 
yellow open localbeta-logstash-2016.07.27 5 1  153558   0  52.2mb   52.2mb 
yellow open .kibana       1 1   2   0  9.6kb   9.6kb 
yellow open localbeta-logstash-2016.07.28 5 1  124439   0  38.8mb   38.8mb 
yellow open localbeta-logstash-2016.07.29 5 1  136844   0  47.6mb   47.6mb 
yellow open localbeta-logstash-2016.07.19 5 1  11535   0  3.6mb   3.6mb 
yellow open localbeta-logstash-2016.07.30 5 1  2501   0  888kb   888kb 
yellow open localbeta-logstash-2016.07.31 5 1  63040   0  43.8mb   43.8mb 
yellow open localbeta-logstash-2016.07.20 5 1  85636   0  27mb   27mb 
yellow open localbeta-logstash-2016.07.21 5 1  108346   0  37.7mb   37.7mb 
yellow open local-logstash-2016.05.11  5 1  667319   0 212.3mb  212.3mb 
yellow open localbeta-logstash-2016.07.22 5 1  125687   0  44mb   44mb 
yellow open localbeta-logstash-2016.08.01 5 1  3245   0  2.2mb   2.2mb 
yellow open localbeta-logstash-2016.07.23 5 1  18437   0  5.5mb   5.5mb 

任何解釋?或更改代碼?

回答

1

如果你希望你的查詢的行爲可以像Kibana,你需要使用一個query_string這樣的查詢:

$params = array(); 
$params['index'] = '*'; //search all index 
$params['type'] = 'Beta Logs from 51.66'; 
$params['body']['query']['query_string']['query'] = "Action:read_session"; 
$result->searches = $client->search($params); 
+0

不工作。你確定用'['query'] ['query_string'] ['query']' –

+0

你有錯誤(如果是的話,請分享)還是沒有結果? – Val

+0

我正在收到結果。但結果與Kibana Discover UI的結果並不相同。如果在Kibana中返回了54個結果,那麼它將只返回約17個結果,從我的php代碼 –