ILIAS  trunk Revision v11.0_alpha-1769-g99a433fe2dc
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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

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

References $xml.

Referenced by parse().

44  : string
45  {
46  return $this->xml;
47  }
+ Here is the caller graph for this function:

◆ parse()

ilLuceneSearchResultParser::parse ( ilLuceneSearchResult  $result)

Parse XML.

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

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

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  }
addObject(int $a_value, float $a_relevance=0)
Search result implementing iterator interface.
+ 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: