comparison sites/all/modules/custom/solrconnect/tests/Dummy_Solr.php @ 0:015d06b10d37 default tip

initial
author dwinter
date Wed, 31 Jul 2013 13:49:13 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:015d06b10d37
1 <?php
2
3 /**
4 * @file
5 * Dummy object to simulate a Solr Service
6 *
7 */
8 class DummySolr implements DrupalApacheSolrServiceInterface {
9
10 function getId() {
11 return __CLASS__;
12 }
13
14 function getFields($num_terms = 0) {
15 return (object) array(
16 'is_uid' =>
17 (object) array(
18 'type' => 'long',
19 'schema' => 'I-S----OF-----',
20 ),
21 'content' =>
22 (object) array(
23 'type' => 'text',
24 'schema' => 'ITS-V---------',
25 ),
26 'im_3_field_tags' =>
27 (object) array(
28 'type' => 'long',
29 'schema' => 'I-SM---OF-----',
30 'dynamicBase' => 'im_*',
31 ),
32 'entity_type' =>
33 (object) array(
34 'type' => 'string',
35 'schema' => 'I-S----OF----l',
36 ),
37 'ds_last_comment_or_change' =>
38 (object) array(
39 'type' => 'tdate',
40 'schema' => 'ITS----OF-----',
41 ),
42 'nodeaccess_ari4jj_node_access_example_view' =>
43 (object) array(
44 'type' => 'integer',
45 'schema' => 'I--M---OF-----',
46 'dynamicBase' => 'nodeaccess*',
47 ),
48 'entity_id' =>
49 (object) array(
50 'type' => 'tlong',
51 'schema' => 'ITS----OF-----',
52 ),
53 'ds_changed' =>
54 (object) array(
55 'type' => 'tdate',
56 'schema' => 'ITS----OF-----',
57 ),
58 'id' =>
59 (object) array(
60 'type' => 'string',
61 'schema' => 'I-S----OF----l',
62 ),
63 'timestamp' =>
64 (object) array(
65 'type' => 'date',
66 'schema' => 'I-S----OF----l',
67 ),
68 'label' =>
69 (object) array(
70 'type' => 'text',
71 'schema' => 'ITS-V--O------',
72 ),
73 'nodeaccess_ari4jj_node_access_example_edit' =>
74 (object) array(
75 'type' => 'integer',
76 'schema' => 'I--M---OF-----',
77 'dynamicBase' => 'nodeaccess*',
78 ),
79 'ds_created' =>
80 (object) array(
81 'type' => 'tdate',
82 'schema' => 'ITS----OF-----',
83 ),
84 'ss_name' =>
85 (object) array(
86 'type' => 'text',
87 'schema' => 'ITS-V---------',
88 ),
89 'path' =>
90 (object) array(
91 'type' => 'string',
92 'schema' => 'I-S----OF----l',
93 ),
94 'taxonomy_names' =>
95 (object) array(
96 'type' => 'text',
97 'schema' => 'IT-MV--O------',
98 ),
99 'bundle' =>
100 (object) array(
101 'type' => 'string',
102 'schema' => 'I-S----OF----l',
103 ),
104 'tid' =>
105 (object) array(
106 'type' => 'long',
107 'schema' => 'I-SM---OF-----',
108 ),
109 'is_tnid' =>
110 (object) array(
111 'type' => 'long',
112 'schema' => 'I-S----OF-----',
113 ),
114 'nodeaccess_ari4jj_node_access_example_author' =>
115 (object) array(
116 'type' => 'integer',
117 'schema' => 'I--M---OF-----',
118 'dynamicBase' => 'nodeaccess*',
119 ),
120 'tm_vid_1_names' =>
121 (object) array(
122 'type' => 'text',
123 'schema' => 'ITSMV---------',
124 'dynamicBase' => 'tm_*',
125 ),
126 'spell' =>
127 (object) array(
128 'type' => 'textSpell',
129 'schema' => 'ITSM----------',
130 ),
131 'site' =>
132 (object) array(
133 'type' => 'string',
134 'schema' => 'I-S----OF----l',
135 ),
136 'is_comment_count' =>
137 (object) array(
138 'type' => 'tint',
139 'schema' => 'ITS----OF-----',
140 ),
141 'bundle_name' =>
142 (object) array(
143 'type' => 'string',
144 'schema' => 'I-S----OF----l',
145 ),
146 'hash' =>
147 (object) array(
148 'type' => 'string',
149 'schema' => 'I-S----OF----l',
150 ),
151 'bs_status' =>
152 (object) array(
153 'type' => 'boolean',
154 'schema' => 'I-S----OF----l',
155 ),
156 'entity_id' =>
157 (object) array(
158 'type' => 'long',
159 'schema' => 'I-S----OF-----',
160 ),
161 'url' =>
162 (object) array(
163 'type' => 'string',
164 'schema' => 'I-S----OF----l',
165 ),
166 'nodeaccess_all' =>
167 (object) array(
168 'type' => 'integer',
169 'schema' => 'I--M---OF-----',
170 'dynamicBase' => 'nodeaccess*',
171 ),
172 'sort_name' =>
173 (object) array(
174 'type' => 'sortString',
175 'schema' => 'IT-----O-----l',
176 ),
177 'tags_a' =>
178 (object) array(
179 'type' => 'text',
180 'schema' => 'IT-----O------',
181 'dynamicBase' => 'tags_*',
182 ),
183 'bs_sticky' =>
184 (object) array(
185 'type' => 'boolean',
186 'schema' => 'I-S----OF----l',
187 ),
188 'bs_promote' =>
189 (object) array(
190 'type' => 'boolean',
191 'schema' => 'I-S----OF----l',
192 ),
193 'teaser' =>
194 (object) array(
195 'type' => 'text',
196 'schema' => '-TS-----------',
197 ),
198 'im_vid_1' =>
199 (object) array(
200 'type' => 'long',
201 'schema' => 'I-SM---OF-----',
202 'dynamicBase' => 'im_*',
203 ),
204 'bs_translate' =>
205 (object) array(
206 'type' => 'boolean',
207 'schema' => 'I-S----OF----l',
208 ),
209 'sort_label' =>
210 (object) array(
211 'type' => 'sortString',
212 'schema' => 'IT-----O-----l',
213 ),
214 'ss_language' =>
215 (object) array(
216 'type' => 'string',
217 'schema' => 'I-S----OF----l',
218 ),
219 'sm_vid_Tags' =>
220 (object) array(
221 'type' => 'string',
222 'schema' => 'I-SM---OF----l',
223 'dynamicBase' => 'sm_*',
224 ),
225 );
226 }
227
228 protected $last_search = array();
229
230 public function search($query = '', array $params = array(), $method = 'GET') {
231 $this->last_search = array('query' => $query, 'params' => $params, 'method' => $method);
232 $response = new stdClass();
233 $response->response = new stdClass();
234 $response->response->numFound = 0;
235 $response->response->docs = array();
236
237 return $response;
238 }
239
240 public function getLastSearch() {
241 return $this->last_search;
242 }
243
244 /**
245 * Call the /admin/ping servlet, to test the connection to the server.
246 *
247 * @param $timeout
248 * maximum time to wait for ping in seconds, -1 for unlimited (default 2).
249 * @return
250 * (float) seconds taken to ping the server, FALSE if timeout occurs.
251 */
252 function ping($timeout = 2) {
253 }
254
255 /**
256 * Get information about the Solr Core.
257 *
258 * @return
259 * (string) system info encoded in json
260 */
261 function getSystemInfo() {
262 }
263
264 /**
265 * Get meta-data about the index.
266 */
267 function getLuke($num_terms = 0) {
268 }
269
270 /**
271 * Get information about the Solr Core.
272 *
273 * Returns a Simple XMl document
274 */
275 function getStats() {
276 }
277
278 /**
279 * Get summary information about the Solr Core.
280 */
281 function getStatsSummary() {
282 }
283
284 /**
285 * Clear cached Solr data.
286 */
287 function clearCache() {
288 }
289
290 /**
291 * Constructor
292 *
293 * @param $url
294 * The URL to the Solr server, possibly including a core name. E.g. http://localhost:8983/solr/
295 * or https://search.example.com/solr/core99/
296 * @param $env_id
297 * The machine name of a corresponding saved configuration used for loading
298 * data like which facets are enabled.
299 */
300 function __construct($url, $env_id = NULL) {
301 }
302
303 /**
304 * Make a request to a servlet (a path) that's not a standard path.
305 *
306 * @param string $servlet
307 * A path to be added to the base Solr path. e.g. 'extract/tika'
308 *
309 * @param array $params
310 * Any request parameters when constructing the URL.
311 *
312 * @param array $options
313 * @see drupal_http_request() $options.
314 *
315 * @return
316 * response object
317 *
318 * @thows Exception
319 */
320 function makeServletRequest($servlet, $params = array(), $options = array()) {
321 }
322
323 /**
324 * Get the Solr url
325 *
326 * @return string
327 */
328 function getUrl() {
329 }
330
331 /**
332 * Set the Solr url.
333 *
334 * @param $url
335 *
336 * @return $this
337 */
338 function setUrl($url) {
339 }
340
341 /**
342 * Raw update Method. Takes a raw post body and sends it to the update service. Post body
343 * should be a complete and well formed xml document.
344 *
345 * @param string $rawPost
346 * @param float $timeout Maximum expected duration (in seconds)
347 *
348 * @return response object
349 *
350 * @throws Exception If an error occurs during the service call
351 */
352 function update($rawPost, $timeout = FALSE) {
353 }
354
355 /**
356 * Add an array of Solr Documents to the index all at once
357 *
358 * @param array $documents Should be an array of ApacheSolrDocument instances
359 * @param boolean $allowDups
360 * @param boolean $overwritePending
361 * @param boolean $overwriteCommitted
362 *
363 * @return response objecte
364 *
365 * @throws Exception If an error occurs during the service call
366 */
367 function addDocuments($documents, $overwrite = NULL, $commitWithin = NULL) {
368 }
369
370 /**
371 * Send a commit command. Will be synchronous unless both wait parameters are set to false.
372 *
373 * @param boolean $optimize Defaults to true
374 * @param boolean $waitFlush Defaults to true
375 * @param boolean $waitSearcher Defaults to true
376 * @param float $timeout Maximum expected duration (in seconds) of the commit operation on the server (otherwise, will throw a communication exception). Defaults to 1 hour
377 * @param boolean $softCommit optimize by using a softCommit
378 *
379 * @return response object
380 *
381 * @throws Exception If an error occurs during the service call
382 */
383 function commit($optimize = TRUE, $waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600, $softCommit = FALSE) {
384 }
385
386 /**
387 * Create a delete document based on document ID
388 *
389 * @param string $id Expected to be utf-8 encoded
390 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
391 *
392 * @return response object
393 *
394 * @throws Exception If an error occurs during the service call
395 */
396 function deleteById($id, $timeout = 3600) {
397 }
398
399 /**
400 * Create and post a delete document based on multiple document IDs.
401 *
402 * @param array $ids Expected to be utf-8 encoded strings
403 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
404 *
405 * @return response object
406 *
407 * @throws Exception If an error occurs during the service call
408 */
409 function deleteByMultipleIds($ids, $timeout = 3600) {
410 }
411
412 /**
413 * Create a delete document based on a query and submit it
414 *
415 * @param string $rawQuery Expected to be utf-8 encoded
416 * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception)
417 * @return stdClass response object
418 *
419 * @throws Exception If an error occurs during the service call
420 */
421 function deleteByQuery($rawQuery, $timeout = 3600) {
422 }
423
424 /**
425 * Send an optimize command. Will be synchronous unless both wait parameters are set
426 * to false.
427 *
428 * @param boolean $waitFlush
429 * @param boolean $waitSearcher
430 * @param float $timeout Maximum expected duration of the commit operation on the server (otherwise, will throw a communication exception)
431 * @param boolean $softCommit optimize by using a softCommit
432 *
433 * @return response object
434 *
435 * @throws Exception If an error occurs during the service call
436 */
437 function optimize($waitFlush = TRUE, $waitSearcher = TRUE, $timeout = 3600, $softCommit = FALSE) {
438 }
439
440 /**
441 * Get the current solr version. This could be 1, 3 or 4
442 *
443 * @return int
444 * 1, 3 or 4. Does not give a more details version, for that you need
445 * to get the system info.
446 */
447 function getSolrVersion() {
448 }
449
450 /**
451 * Get query name.
452 */
453 function getName() {
454 }
455
456 /**
457 * Get query searcher name (for facetapi, views, pages, etc).
458 */
459 function getSearcher() {
460 }
461
462 /**
463 * Get context values.
464 */
465 function getContext() {
466 }
467
468 /**
469 * Set context value.
470 */
471 function addContext(array $context) {
472 }
473 }
474