ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilLuceneSearchResultParser Class Reference

Parses Lucene search results. More...

+ Collaboration diagram for ilLuceneSearchResultParser:

Public Member Functions

 __construct (string $a_xml)
 Constructor. More...
 
 getXML ()
 get xml More...
 
 parse (ilLuceneSearchResult $result)
 Parse XML. More...
 

Private Attributes

string $xml
 

Detailed Description

Parses Lucene search results.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 26 of file class.ilLuceneSearchResultParser.php.

Constructor & Destructor Documentation

◆ __construct()

ilLuceneSearchResultParser::__construct ( string  $a_xml)

Constructor.

Definition at line 33 of file class.ilLuceneSearchResultParser.php.

34 {
35 $this->xml = $a_xml;
36 }

Member Function Documentation

◆ getXML()

ilLuceneSearchResultParser::getXML ( )

get xml

Parameters

return string

Definition at line 44 of file class.ilLuceneSearchResultParser.php.

44 : string
45 {
46 return $this->xml;
47 }

References $xml.

Referenced by parse().

+ Here is the caller graph for this function:

◆ parse()

ilLuceneSearchResultParser::parse ( ilLuceneSearchResult  $result)

Parse XML.

Definition at line 52 of file class.ilLuceneSearchResultParser.php.

53 {
54 if (!strlen($this->getXML())) {
55 return $result;
56 }
57 $hits = new SimpleXMLElement($this->getXML());
58 $result->setLimit($result->getLimit() + (int) ((string) $hits['limit']));
59 $result->setMaxScore((float) $hits['maxScore']);
60 $result->setTotalHits((int) $hits['totalHits']);
61
62 foreach ($hits->children() as $object) {
63 if (isset($object['absoluteScore'])) {
64 $result->addObject((int) $object['id'], (float) $object['absoluteScore']);
65 } else {
66 $result->addObject((int) $object['id'], (float) $object->Item[0]['absoluteScore']);
67 }
68 }
69 return $result;
70 }
Search result implementing iterator interface.
addObject(int $a_value, float $a_relevance=0)

References ilLuceneSearchResult\addObject(), ilLuceneSearchResult\getLimit(), getXML(), ilLuceneSearchResult\setLimit(), ilLuceneSearchResult\setMaxScore(), and ilLuceneSearchResult\setTotalHits().

+ Here is the call graph for this function:

Field Documentation

◆ $xml

string ilLuceneSearchResultParser::$xml
private

Definition at line 28 of file class.ilLuceneSearchResultParser.php.

Referenced by getXML().


The documentation for this class was generated from the following file: