Herhangi biri bana Solr arama sonuçlarını vurgulayarak yol gösteriyor. Xml sonuçlarını ayrıştırmak için ben DomDocument kullanıyorum.
İşte, ben aşağıdaki gibi bir örnek belge var.
<add><doc>
<field name="id">1</field><field name="title">Leason1</field>
<field name="description">XYZ</field>
</doc></add>
Ben işlevi aşağıda kullanarak arama sonuçlarını alıyorum,
function solrQuery($q){
$query = "?q=".trim(urlencode($q)).
"&version=2.2&start=0&rows=10&indent=on&hl=true&hl.fl=title";
if($q != '')
return $results = request("", "select".$query);
return 0;
}
....
Benim sonuç sayfasında aşağıda gibi verileri görüntüleyebilir ettik,
$results = solrQuery($query);
if($results != ''){
$results = explode('<?xml version="1.0" encoding="UTF-8"?>', $results);
$results = $results[1];
$dom = new DomDocument;
$dom->loadXML($results);
$docs = $dom->getElementsByTagName('doc');
foreach ($docs as $doc) {
$strings = $doc->getElementsByTagName('str');
foreach($strings as $str){
$attr = $str->getAttribute('name');
$data = $str->textContent;
switch($attr){
case 'id':
$id = $data;
break;
case 'title':
$title = $data;
break;
case 'description':
$description = $data;
break;
}
}
Burada arama sonuçlarını vurgulayın nasıl karışıklık olsun kodudur. Bunun için bana yardımcı olabilir misiniz?