Analyze the recording
public analyze ( array $parameters, string $filter = false, integer $start = false, integer $end = false, string $id = false ) : array | ||
$parameters | array | the parameter array to be used to analyze the data set |
$filter | string | additional CSDL filter |
$start | integer | the start time of the pylon |
$end | integer | the end time of the pylon |
$id | string | If id is provided it will be set |
Résultat | array | Response from the compile |
$user = new DataSift_User(USERNAME, API_KEY, false); $csdl = '(fb.content any "coffee, tea" OR fb.hashtags in "tea") AND fb.language in "en"'; //Validate the CSDL $validate = DataSift_Pylon::validate($user, $csdl); echo "Definition has been successfully validated, DPUs: {$validate['dpu']} created at: {$validate['created_at']} \n\n"; //Create the PYLON object $pylon_name = "My pylon test"; $pylon = new DataSift_Pylon($user); $pylon->setName($pylon_name); //Add CSDL to the PYLON $pylon->setCsdl($csdl); $pylon->compile(); //Start the pylon $pylon->start(); //Stop after 10 seconds sleep(10); //Compile some new CSDL $pylon->setCsdl('(fb.content any "coffee, tea, flour" OR fb.hashtags in "tea") AND fb.language in "en"'); $pylon->compile(); //Update the recording with the new definition $pylon->update(); $pylon->stop(); //Set the analyze parameters $parameters = array('analysis_type' => 'freqDist', 'parameters' => array('threshold' => 3, 'target' => 'fb.author.gender'), 'child' => array('analysis_type' => 'freqDist', 'parameters' => array('threshold' => 3, 'target' => 'fb.author.age'), 'child' => array('analysis_type' => 'freqDist', 'parameters' => array('threshold' => 3, 'target' => 'fb.author.highest_education')))); //Choose a filter $filter = 'fb.content contains "starbucks"'; //Analyze the recording $analyze = $pylon->analyze($parameters, $filter); $pylon->reload(); echo "There were a total of {$analyze['interactions']} interactions that matched this filter\n"; $reloaded_pylon = DataSift_Pylon::fromId($user, $pylon->getId());
public function testAnalyseInvalidHash() { $response = array('response_code' => 400, 'data' => array('error' => 'Start cannot be after end'), 'rate_limit' => 200, 'rate_limit_remaining' => 150); DataSift_MockApiClient::setResponse($response); $pylon = new DataSift_Pylon($this->user); $parameters = array('analysis_type' => 'freqDist', 'parameters' => array('interval' => 'fb.author.gender', 'threshold' => 4)); $this->setExpectedException('DataSift_Exception_InvalidData'); $analyze = $pylon->analyze($parameters, '', 1435748400, 1435662000); }