Nasıl PHP kodu ile Apache SOLR kullanma Arama Sonuçları vurgulama için

0 Cevap php

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?

0 Cevap