ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilLuceneRPCAdapter Class Reference
+ Inheritance diagram for ilLuceneRPCAdapter:
+ Collaboration diagram for ilLuceneRPCAdapter:

Public Member Functions

 ilLuceneRPCAdapter ()
 
 setMode ($a_mode)
 
 getMode ()
 
 setFiles (&$files)
 
getFiles ()
 
 setHTLMs (&$htlms)
 
getHTLMs ()
 
 setQueryString ($a_str)
 
 getQueryString ()
 
 setPageNumber ($a_number)
 
 getPageNumber ()
 
 setSearchFilter ($a_filter)
 
 getSearchFilter ()
 
 __getClientId ()
 Create a unique client id. More...
 
 send ()
 Send message to remote rpc server and get response. More...
 
 __prepareQueryParams ()
 
 __preparePingParams ()
 
 __prepareIndexFileParams ()
 
 __prepareIndexHTLMParams ()
 
 __prepareFlushIndex ()
 
 setResultIds ($a_ids)
 set result ids More...
 
 getResultIds ()
 get result ids More...
 
- Public Member Functions inherited from ilRPCServerAdapter
 ilRPCServerAdapter ()
 
 setResponseTimeout ($a_response_timeout)
 
send ()
 Send message to remote rpc server and get response. More...
 
 __checkPear ()
 
 __initClient ()
 Create RPC client object. More...
 
 __initMessage ($a_message_name, $params)
 Create RPC message object. More...
 

Data Fields

 $mode = ''
 
 $files = array()
 
 $query_str = ''
 
 $page_number
 
 $filter = ''
 
- Data Fields inherited from ilRPCServerAdapter
 $response_timeout = RPC_TIMEOUT
 
 $log = null
 
 $db = null
 
 $err = null
 
 $settings_obj = null
 
 $rpc_client = null
 
 $rpc_message = null
 

Protected Member Functions

 __prepareSearchParams ()
 Prepare search parameters. More...
 
 __prepareHighlightParams ()
 Prepare search parameters. More...
 
 __prepareRefreshSettingsParams ()
 
 getClientKey ()
 Get client key. More...
 

Detailed Description

Definition at line 35 of file class.ilLuceneRPCAdapter.php.

Member Function Documentation

◆ __getClientId()

ilLuceneRPCAdapter::__getClientId ( )

Create a unique client id.

Since the lucene index can be used from multiple ILIAS-Installations it must be unique over installations

Returns
string client_identifier

Definition at line 105 of file class.ilLuceneRPCAdapter.php.

106 {
107 global $ilias;
108
109 // TODO: handle problem if nic_key isn't set
110 return $ilias->getSetting('nic_key').'_'.CLIENT_ID;
111 }

Referenced by __prepareFlushIndex(), __prepareIndexFileParams(), __prepareIndexHTLMParams(), __preparePingParams(), and __prepareQueryParams().

+ Here is the caller graph for this function:

◆ __prepareFlushIndex()

ilLuceneRPCAdapter::__prepareFlushIndex ( )

Definition at line 213 of file class.ilLuceneRPCAdapter.php.

214 {
215 $this->setResponseTimeout(5);
216 $this->__initMessage('Indexer.ilClearIndex',array(new XML_RPC_Value($this->__getClientId(),"string")));
217
218 return true;
219 }
__getClientId()
Create a unique client id.
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)

References __getClientId(), ilRPCServerAdapter\__initMessage(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareHighlightParams()

ilLuceneRPCAdapter::__prepareHighlightParams ( )
protected

Prepare search parameters.

Definition at line 239 of file class.ilLuceneRPCAdapter.php.

240 {
241 $this->setResponseTimeout(5);
242
243 $objIds = array();
244 foreach($this->getResultIds() as $obj_id)
245 {
246 $objIds[] = new XML_RPC_Value($obj_id,'int');
247 }
248
249 $this->__initMessage('RPCSearchHandler.highlight',array(
250 new XML_RPC_Value($this->getClientKey(),'string'),
251 new XML_RPC_VAlue($objIds,'array'),
252 new XML_RPC_Value($this->getQueryString(),'string')));
253
254 return true;
255 }

References ilRPCServerAdapter\__initMessage(), getClientKey(), getQueryString(), getResultIds(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareIndexFileParams()

ilLuceneRPCAdapter::__prepareIndexFileParams ( )

Definition at line 185 of file class.ilLuceneRPCAdapter.php.

186 {
187 $this->setResponseTimeout(5);
188 foreach($this->getFiles() as $obj_id => $fname)
189 {
190 $struct[$obj_id] = new XML_RPC_Value($fname,"string");
191 }
192 $params = array(new XML_RPC_Value($this->__getClientId(),"string"),
193 new XML_RPC_Value($struct,"struct"));
194
195 $this->__initMessage('Indexer.ilFileIndexer',$params);
196
197 return true;
198 }
$params
Definition: example_049.php:96

References $params, __getClientId(), ilRPCServerAdapter\__initMessage(), getFiles(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareIndexHTLMParams()

ilLuceneRPCAdapter::__prepareIndexHTLMParams ( )

Definition at line 200 of file class.ilLuceneRPCAdapter.php.

201 {
202 $this->setResponseTimeout(5);
203 foreach($this->getHTLMs() as $obj_id => $fname)
204 {
205 $struct[$obj_id] = new XML_RPC_Value($fname,"string");
206 }
207
208 $this->__initMessage('Indexer.ilHTLMIndexer',array(new XML_RPC_Value($this->__getClientId(),"string"),
209 new XML_RPC_Value($struct,"struct")));
210
211 return true;
212 }

References __getClientId(), ilRPCServerAdapter\__initMessage(), getHTLMs(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __preparePingParams()

ilLuceneRPCAdapter::__preparePingParams ( )

Definition at line 177 of file class.ilLuceneRPCAdapter.php.

178 {
179 $this->setResponseTimeout(5);
180 $this->__initMessage('Searcher.ilPing',array(new XML_RPC_Value($this->__getClientId(),"string")));
181
182 return true;
183 }

References __getClientId(), ilRPCServerAdapter\__initMessage(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareQueryParams()

ilLuceneRPCAdapter::__prepareQueryParams ( )

Definition at line 162 of file class.ilLuceneRPCAdapter.php.

163 {
164 $this->setResponseTimeout(5);
165 $filter = array();
166 foreach($this->getSearchFilter() as $obj_type)
167 {
168 $filter[] = new XML_RPC_Value($obj_type,'string');
169 }
170 $this->__initMessage('Searcher.ilSearch',array(new XML_RPC_Value($this->__getClientId(),"string"),
171 new XML_RPC_Value($this->getQueryString(),"string"),
172 new XML_RPC_Value($filter,'array')));
173
174 return true;
175 }

References $filter, __getClientId(), ilRPCServerAdapter\__initMessage(), getQueryString(), getSearchFilter(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareRefreshSettingsParams()

ilLuceneRPCAdapter::__prepareRefreshSettingsParams ( )
protected

Definition at line 257 of file class.ilLuceneRPCAdapter.php.

258 {
259 $this->setResponseTimeout(5);
260
261 $this->__initMessage('RPCAdministration.refreshSettings',array(
262 new XML_RPC_Value($this->getClientKey(),'string')));
263 return true;
264 }

References ilRPCServerAdapter\__initMessage(), getClientKey(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareSearchParams()

ilLuceneRPCAdapter::__prepareSearchParams ( )
protected

Prepare search parameters.

Definition at line 225 of file class.ilLuceneRPCAdapter.php.

226 {
227 $this->setResponseTimeout(5);
228 $this->__initMessage('RPCSearchHandler.search',array(
229 new XML_RPC_Value($this->getClientKey(),'string'),
230 new XML_RPC_Value($this->getQueryString(),'string'),
231 new XML_RPC_Value($this->getPageNumber(),'int')));
232
233 return true;
234 }

References ilRPCServerAdapter\__initMessage(), getClientKey(), getPageNumber(), getQueryString(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getClientKey()

ilLuceneRPCAdapter::getClientKey ( )
protected

Get client key.

Returns
string client key

Definition at line 290 of file class.ilLuceneRPCAdapter.php.

291 {
292 global $ilSetting;
293
294 return CLIENT_ID.'_'.$ilSetting->get('inst_id',0);
295 }
global $ilSetting
Definition: privfeed.php:40

References $ilSetting.

Referenced by __prepareHighlightParams(), __prepareRefreshSettingsParams(), and __prepareSearchParams().

+ Here is the caller graph for this function:

◆ getFiles()

& ilLuceneRPCAdapter::getFiles ( )

Definition at line 61 of file class.ilLuceneRPCAdapter.php.

62 {
63 return $this->files ? $this->files : array();
64 }

Referenced by __prepareIndexFileParams().

+ Here is the caller graph for this function:

◆ getHTLMs()

& ilLuceneRPCAdapter::getHTLMs ( )

Definition at line 69 of file class.ilLuceneRPCAdapter.php.

70 {
71 return $this->htlms;
72 }

Referenced by __prepareIndexHTLMParams().

+ Here is the caller graph for this function:

◆ getMode()

ilLuceneRPCAdapter::getMode ( )

Definition at line 53 of file class.ilLuceneRPCAdapter.php.

References $mode.

Referenced by send().

+ Here is the caller graph for this function:

◆ getPageNumber()

ilLuceneRPCAdapter::getPageNumber ( )

Definition at line 86 of file class.ilLuceneRPCAdapter.php.

References $page_number.

Referenced by __prepareSearchParams().

+ Here is the caller graph for this function:

◆ getQueryString()

ilLuceneRPCAdapter::getQueryString ( )

Definition at line 78 of file class.ilLuceneRPCAdapter.php.

References $query_str.

Referenced by __prepareHighlightParams(), __prepareQueryParams(), and __prepareSearchParams().

+ Here is the caller graph for this function:

◆ getResultIds()

ilLuceneRPCAdapter::getResultIds ( )

get result ids

Returns

Definition at line 280 of file class.ilLuceneRPCAdapter.php.

281 {
282 return $this->result_ids ? $this->result_ids : array();
283 }

Referenced by __prepareHighlightParams().

+ Here is the caller graph for this function:

◆ getSearchFilter()

ilLuceneRPCAdapter::getSearchFilter ( )

Definition at line 95 of file class.ilLuceneRPCAdapter.php.

96 {
97 return $this->filter ? $this->filter : array();
98 }

Referenced by __prepareQueryParams().

+ Here is the caller graph for this function:

◆ ilLuceneRPCAdapter()

ilLuceneRPCAdapter::ilLuceneRPCAdapter ( )

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

45 {
46 parent::ilRPCServerAdapter();
47 }

◆ send()

ilLuceneRPCAdapter::send ( )

Send message to remote rpc server and get response.

Returns
object result object. Type is depend on the calles method

@access protected

Reimplemented from ilRPCServerAdapter.

Definition at line 115 of file class.ilLuceneRPCAdapter.php.

116 {
117 $this->__initClient();
118 switch($this->getMode())
119 {
120 case 'ping':
121 $this->__preparePingParams();
122 break;
123
124 case 'file':
126 break;
127
128 case 'query':
129 $this->__prepareQueryParams();
130 break;
131
132 case 'htlm':
134 break;
135
136 case 'flush':
137 $this->__prepareFlushIndex();
138 break;
139
140 // BEGIN PATCH Lucene search
141 case 'search':
142 $this->__prepareSearchParams();
143 break;
144
145 case 'highlight':
147 break;
148
149 case 'refreshSettings':
151 break;
152 // END PATCH Lucene Search
153
154 default:
155 $this->log->write('ilLuceneRPCHandler(): No valid mode given');
156 return false;
157
158 }
159 return parent::send();
160 }
__prepareHighlightParams()
Prepare search parameters.
__prepareSearchParams()
Prepare search parameters.
__initClient()
Create RPC client object.

References ilRPCServerAdapter\__initClient(), __prepareFlushIndex(), __prepareHighlightParams(), __prepareIndexFileParams(), __prepareIndexHTLMParams(), __preparePingParams(), __prepareQueryParams(), __prepareRefreshSettingsParams(), __prepareSearchParams(), and getMode().

+ Here is the call graph for this function:

◆ setFiles()

ilLuceneRPCAdapter::setFiles ( $files)

Definition at line 57 of file class.ilLuceneRPCAdapter.php.

58 {
59 $this->files =& $files;
60 }

References $files.

◆ setHTLMs()

ilLuceneRPCAdapter::setHTLMs ( $htlms)

Definition at line 65 of file class.ilLuceneRPCAdapter.php.

66 {
67 $this->htlms = $htlms;
68 }

◆ setMode()

ilLuceneRPCAdapter::setMode (   $a_mode)

Definition at line 49 of file class.ilLuceneRPCAdapter.php.

50 {
51 $this->mode = $a_mode;
52 }

◆ setPageNumber()

ilLuceneRPCAdapter::setPageNumber (   $a_number)

Definition at line 82 of file class.ilLuceneRPCAdapter.php.

83 {
84 $this->page_number = $a_number;
85 }

◆ setQueryString()

ilLuceneRPCAdapter::setQueryString (   $a_str)

Definition at line 74 of file class.ilLuceneRPCAdapter.php.

75 {
76 $this->query_str = $a_str;
77 }

◆ setResultIds()

ilLuceneRPCAdapter::setResultIds (   $a_ids)

set result ids

Parameters
arrayarray of obj ids
Returns

Definition at line 271 of file class.ilLuceneRPCAdapter.php.

272 {
273 $this->result_ids = $a_ids;
274 }

◆ setSearchFilter()

ilLuceneRPCAdapter::setSearchFilter (   $a_filter)

Definition at line 91 of file class.ilLuceneRPCAdapter.php.

92 {
93 $this->filter = $a_filter;
94 }

Field Documentation

◆ $files

ilLuceneRPCAdapter::$files = array()

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

Referenced by setFiles().

◆ $filter

ilLuceneRPCAdapter::$filter = ''

Definition at line 41 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareQueryParams().

◆ $mode

ilLuceneRPCAdapter::$mode = ''

Definition at line 37 of file class.ilLuceneRPCAdapter.php.

Referenced by getMode().

◆ $page_number

ilLuceneRPCAdapter::$page_number

Definition at line 40 of file class.ilLuceneRPCAdapter.php.

Referenced by getPageNumber().

◆ $query_str

ilLuceneRPCAdapter::$query_str = ''

Definition at line 39 of file class.ilLuceneRPCAdapter.php.

Referenced by getQueryString().


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