任何人都可以引導我突出顯示Solr搜索結果。我正在使用DomDocument來解析XML結果。如何突出顯示使用Apache SOLR和PHP代碼的搜索結果
在這裏,我有如下示例文檔。
<add><doc>
<field name="id">1</field><field name="title">Leason1</field>
<field name="description">XYZ</field>
</doc></add>
我用下面的功能,讓搜索結果,
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;
}
....
在我的結果頁面IVE的顯示像下面的數據,
$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;
}
}
這裏是我得到混淆的代碼如何突出顯示搜索結果。你能幫我解決嗎?
我在功能solrQuery使用高亮功能()。請參閱$ query =「?q =」。trim(urlencode($ q))。 「&version = 2.2&start = 0&rows = 10&indent = on&hl = true&hl.fl = title」; 問題是如何在我的php代碼中實現? – prabu 2010-11-08 09:59:06
在我的答案底部有一個使用SimpleXML的例子。 – netcoder 2010-11-08 13:55:10