|
|
@@ -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]); |
|
|
|
|
|
|
|
?> |