ILIAS  trunk Revision v11.0_alpha-1769-g99a433fe2dc
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilLuceneHighlighterResultParser Class Reference

Parses result XML from lucene search highlight. More...

+ Collaboration diagram for ilLuceneHighlighterResultParser:

Public Member Functions

 getMaxScore ()
 
 setMaxScore (float $a_score)
 
 getRelevance (int $a_obj_id, int $sub_id)
 
 setResultString (string $a_res)
 
 getResultString ()
 
 parse ()
 parse More...
 
 getTitle (int $a_obj_id, int $a_sub_id)
 
 getDescription (int $a_obj_id, int $a_sub_id)
 
 getContent (int $a_obj_id, int $a_sub_id)
 
 getSubItemIds (int $a_obj_id)
 

Private Attributes

string $result_string = ''
 
array $result = []
 
float $max_score = 0
 

Detailed Description

Parses result XML from lucene search highlight.

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

Definition at line 30 of file class.ilLuceneHighlighterResultParser.php.

Member Function Documentation

◆ getContent()

ilLuceneHighlighterResultParser::getContent ( int  $a_obj_id,
int  $a_sub_id 
)

Definition at line 109 of file class.ilLuceneHighlighterResultParser.php.

109  : string
110  {
111  return $this->result[$a_obj_id][$a_sub_id]['content'] ?? '';
112  }

◆ getDescription()

ilLuceneHighlighterResultParser::getDescription ( int  $a_obj_id,
int  $a_sub_id 
)

Definition at line 104 of file class.ilLuceneHighlighterResultParser.php.

104  : string
105  {
106  return $this->result[$a_obj_id][$a_sub_id]['description'] ?? '';
107  }

◆ getMaxScore()

ilLuceneHighlighterResultParser::getMaxScore ( )

Definition at line 38 of file class.ilLuceneHighlighterResultParser.php.

References $max_score.

Referenced by getRelevance().

38  : float
39  {
40  return $this->max_score;
41  }
+ Here is the caller graph for this function:

◆ getRelevance()

ilLuceneHighlighterResultParser::getRelevance ( int  $a_obj_id,
int  $sub_id 
)

Definition at line 48 of file class.ilLuceneHighlighterResultParser.php.

References getMaxScore().

48  : float
49  {
50  if (!$this->getMaxScore()) {
51  return 0;
52  }
53 
54  $score = $this->result[$a_obj_id][$sub_id]['score'];
55  return $score / $this->getMaxScore() * 100;
56  }
+ Here is the call graph for this function:

◆ getResultString()

ilLuceneHighlighterResultParser::getResultString ( )

Definition at line 63 of file class.ilLuceneHighlighterResultParser.php.

References $result_string.

Referenced by parse().

63  : string
64  {
65  return $this->result_string;
66  }
+ Here is the caller graph for this function:

◆ getSubItemIds()

ilLuceneHighlighterResultParser::getSubItemIds ( int  $a_obj_id)
Returns
int[]

Definition at line 117 of file class.ilLuceneHighlighterResultParser.php.

References $data.

117  : array
118  {
119  $sub_item_ids = array();
120  if (!isset($this->result[$a_obj_id])) {
121  return array();
122  }
123  foreach ($this->result[$a_obj_id] as $sub_item_id => $data) {
124  if ($sub_item_id) {
125  $sub_item_ids[] = $sub_item_id;
126  }
127  }
128  return $sub_item_ids;
129  }

◆ getTitle()

ilLuceneHighlighterResultParser::getTitle ( int  $a_obj_id,
int  $a_sub_id 
)

Definition at line 99 of file class.ilLuceneHighlighterResultParser.php.

99  : string
100  {
101  return $this->result[$a_obj_id][$a_sub_id]['title'] ?? '';
102  }

◆ parse()

ilLuceneHighlighterResultParser::parse ( )

parse

Returns
bool

Definition at line 72 of file class.ilLuceneHighlighterResultParser.php.

References ilLoggerFactory\getLogger(), getResultString(), and setMaxScore().

72  : bool
73  {
74  if (!strlen($this->getResultString())) {
75  return false;
76  }
77  ilLoggerFactory::getLogger('src')->debug($this->getResultString());
78  $root = new SimpleXMLElement($this->getResultString());
79  $this->setMaxScore((float) $root['maxScore']);
80  foreach ($root->children() as $object) {
81  $obj_id = (string) $object['id'];
82  foreach ($object->children() as $item) {
83  $sub_id = (string) $item['id'];
84 
85  // begin-patch mime_filter
86  $score = (string) $item['absoluteScore'];
87  $this->result[$obj_id][$sub_id]['score'] = $score;
88  // end-patch mime_filter
89 
90  foreach ($item->children() as $field) {
91  $name = (string) $field['name'];
92  $this->result[$obj_id][$sub_id][$name] = (string) $field;
93  }
94  }
95  }
96  return true;
97  }
static getLogger(string $a_component_id)
Get component logger.
+ Here is the call graph for this function:

◆ setMaxScore()

ilLuceneHighlighterResultParser::setMaxScore ( float  $a_score)

Definition at line 43 of file class.ilLuceneHighlighterResultParser.php.

Referenced by parse().

43  : void
44  {
45  $this->max_score = $a_score;
46  }
+ Here is the caller graph for this function:

◆ setResultString()

ilLuceneHighlighterResultParser::setResultString ( string  $a_res)

Definition at line 58 of file class.ilLuceneHighlighterResultParser.php.

58  : void
59  {
60  $this->result_string = $a_res;
61  }

Field Documentation

◆ $max_score

float ilLuceneHighlighterResultParser::$max_score = 0
private

Definition at line 34 of file class.ilLuceneHighlighterResultParser.php.

Referenced by getMaxScore().

◆ $result

array ilLuceneHighlighterResultParser::$result = []
private

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

◆ $result_string

string ilLuceneHighlighterResultParser::$result_string = ''
private

Definition at line 32 of file class.ilLuceneHighlighterResultParser.php.

Referenced by getResultString().


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