|  |  | @@ -0,0 +1,49 @@ | 
		
	
		
			
			|  |  |  | <?php | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Generate a random number for sorting by random | 
		
	
		
			
			|  |  |  | $random = rand(); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Assemble a query string to send to Solr. This uses the Solr hostname from config.env. Solr's query syntax can be found at many sites including https://lucene.apache.org/solr/guide/6_6/the-standard-query-parser.html | 
		
	
		
			
			|  |  |  | // This query retrieves only the bib identifier field for records which satisfy the search query | 
		
	
		
			
			|  |  |  | $solrurl = 'http://host.docker.internal:8983/solr/epo_data/select?q.op=OR&q=*%3A*&wt=json&sort=random_' . $random . '%20asc'; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Perform Curl request on the Solr API | 
		
	
		
			
			|  |  |  | $ch = curl_init(); | 
		
	
		
			
			|  |  |  | curl_setopt($ch, CURLOPT_URL, $solrurl); | 
		
	
		
			
			|  |  |  | curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); | 
		
	
		
			
			|  |  |  | curl_setopt($ch, CURLOPT_HEADER, FALSE); | 
		
	
		
			
			|  |  |  | curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); | 
		
	
		
			
			|  |  |  | $response = curl_exec($ch); | 
		
	
		
			
			|  |  |  | curl_close($ch); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Turn the API response into useful Json | 
		
	
		
			
			|  |  |  | $json = json_decode($response); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Pick a random key out of the docs array | 
		
	
		
			
			|  |  |  | $random = array_rand($json->response->docs); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ?> | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Title: | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | <?php | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Search for the title in the content element and display it | 
		
	
		
			
			|  |  |  | $content = $json->response->docs[$random]->content; | 
		
	
		
			
			|  |  |  | preg_match('/Title.*\n(.*)\n/', $content, $title); | 
		
	
		
			
			|  |  |  | print_r($title[1]); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ?> | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | <br><br> | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Abstract: | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | <?php | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Search for the title in the content element and display it | 
		
	
		
			
			|  |  |  | $content = $json->response->docs[$random]->content; | 
		
	
		
			
			|  |  |  | preg_match('/Abstract.*\n(.*)\n/', $content, $abstract); | 
		
	
		
			
			|  |  |  | print_r($abstract[1]); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ?> |