任何人都可以引导我突出显示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