Tarea #836 -> Búsqueda sobre los ficheros de CV
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@129 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
parent
dfadd4772e
commit
e6f3c0daae
97
src/consulta_solr.php
Normal file
97
src/consulta_solr.php
Normal file
@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
// make sure browsers see this page as utf-8 encoded HTML
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
|
||||
$limit = 10;
|
||||
$query = isset($_REQUEST['q']) ? $_REQUEST['q'] : false;
|
||||
$results = false;
|
||||
|
||||
if ($query)
|
||||
{
|
||||
// The Apache Solr Client library should be on the include path
|
||||
// which is usually most easily accomplished by placing in the
|
||||
// same directory as this script ( . or current directory is a default
|
||||
// php include path entry in the php.ini)
|
||||
require_once('vendor/SolrPhpClient/Apache/Solr/Service.php');
|
||||
|
||||
// create a new solr service instance - host, port, and webapp
|
||||
// path (all defaults in this example)
|
||||
$solr = new Apache_Solr_Service('localhost', 8983, '/solr/');
|
||||
|
||||
// if magic quotes is enabled then stripslashes will be needed
|
||||
if (get_magic_quotes_gpc() == 1)
|
||||
{
|
||||
$query = stripslashes($query);
|
||||
}
|
||||
|
||||
|
||||
// in production code you'll always want to use a try /catch for any
|
||||
// possible exceptions emitted by searching (i.e. connection
|
||||
// problems or a query parsing error)
|
||||
try
|
||||
{
|
||||
$query_content = 'attr_content:'.$query;
|
||||
$results = $solr->search($query_content, 0, $limit);
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// in production you'd probably log or email this error to an admin
|
||||
// and then show a special message to the user but for this example
|
||||
// we're going to show the full exception
|
||||
die("<html><head><title>SEARCH EXCEPTION</title><body><pre>{$e->__toString()}</pre></body></html>");
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>PHP Solr Client Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<form accept-charset="utf-8" method="get">
|
||||
<label for="q">Search:</label>
|
||||
<input id="q" name="q" type="text" value="<?php echo htmlspecialchars($query, ENT_QUOTES, 'utf-8'); ?>"/>
|
||||
<input type="submit"/>
|
||||
</form>
|
||||
<?php
|
||||
|
||||
// display results
|
||||
if ($results)
|
||||
{
|
||||
$total = (int) $results->response->numFound;
|
||||
$start = min(1, $total);
|
||||
$end = min($limit, $total);
|
||||
?>
|
||||
<div>Results <?php echo $start; ?> - <?php echo $end;?> of <?php echo $total; ?>:</div>
|
||||
<ol>
|
||||
<?php
|
||||
// iterate result documents
|
||||
foreach ($results->response->docs as $doc)
|
||||
{
|
||||
?>
|
||||
<li>
|
||||
<table style="border: 1px solid black; text-align: left">
|
||||
<?php
|
||||
// iterate document fields / values
|
||||
foreach ($doc as $field => $value)
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th><?php echo htmlspecialchars($field, ENT_NOQUOTES, 'utf-8'); ?></th>
|
||||
<td><?php echo htmlspecialchars($value, ENT_NOQUOTES, 'utf-8'); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ol>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user