@@ -137,12 +137,12 @@ discard block |
||
137 | 137 | */ |
138 | 138 | public function search($query, $types = '') { |
139 | 139 | $query = Query::create($query); // may be a string |
140 | - if (is_string($types)) { |
|
140 | + if(is_string($types)) { |
|
141 | 141 | $types = explode(',', $types); |
142 | 142 | } |
143 | 143 | |
144 | 144 | $data = $query->toArray(); |
145 | - if (isset($data['query']['more_like_this'])) { |
|
145 | + if(isset($data['query']['more_like_this'])) { |
|
146 | 146 | $query->MoreLikeThis = true; |
147 | 147 | } else { |
148 | 148 | $query->MoreLikeThis = false; |
@@ -151,7 +151,7 @@ discard block |
||
151 | 151 | |
152 | 152 | $search = new Search(new Client()); |
153 | 153 | |
154 | - if ($this->test_mode) { |
|
154 | + if($this->test_mode) { |
|
155 | 155 | $search->setOption('search_type', Search::OPTION_SEARCH_TYPE_DFS_QUERY_THEN_FETCH); |
156 | 156 | } |
157 | 157 | |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | |
162 | 162 | // If the query is a 'more like this' we can get the terms used for searching by performing |
163 | 163 | // an extra query, in this case a query validation with explain and rewrite turned on |
164 | - if ($query->MoreLikeThis) { |
|
164 | + if($query->MoreLikeThis) { |
|
165 | 165 | $path = $search->getPath(); |
166 | 166 | |
167 | 167 | $termData = array(); |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | |
170 | 170 | $path = str_replace('_search', '_validate/query', $path); |
171 | 171 | $params = array('explain' => true, 'rewrite' => true); |
172 | - if ($this->test_mode) { |
|
172 | + if($this->test_mode) { |
|
173 | 173 | $params['search_type'] = Search::OPTION_SEARCH_TYPE_DFS_QUERY_THEN_FETCH; |
174 | 174 | } |
175 | 175 | |
@@ -183,19 +183,19 @@ discard block |
||
183 | 183 | $r = $response->getData(); |
184 | 184 | $terms = null; // keep in scope |
185 | 185 | |
186 | - if (isset($r['explanations'])) { |
|
186 | + if(isset($r['explanations'])) { |
|
187 | 187 | $explanation = $r['explanations'][0]['explanation']; |
188 | 188 | //echo $explanation; |
189 | 189 | $terms = ElasticaUtil::parseSuggestionExplanation($explanation); |
190 | 190 | } |
191 | 191 | |
192 | - if (isset($terms)) { |
|
192 | + if(isset($terms)) { |
|
193 | 193 | $this->MoreLikeThisTerms = $terms; |
194 | 194 | } |
195 | 195 | } |
196 | 196 | |
197 | - if (!$empty($types)) { |
|
198 | - foreach ($types as $type) { |
|
197 | + if(!$empty($types)) { |
|
198 | + foreach($types as $type) { |
|
199 | 199 | $search->addType($type); |
200 | 200 | } |
201 | 201 | } |
@@ -215,7 +215,7 @@ discard block |
||
215 | 215 | $stringFields = $this->highlightedFields; |
216 | 216 | $usingProvidedHighlightFields = true; |
217 | 217 | |
218 | - if (sizeof($stringFields) == 0) { |
|
218 | + if(sizeof($stringFields) == 0) { |
|
219 | 219 | $filter = array('Type' => 'string', 'ShowHighlights' => true); |
220 | 220 | $stringFields = \SearchableField::get()->filter($filter)->map('Name')->toArray(); |
221 | 221 | $usingProvidedHighlightFields = false; |
@@ -223,10 +223,10 @@ discard block |
||
223 | 223 | |
224 | 224 | |
225 | 225 | $highlightFields = array(); |
226 | - foreach ($stringFields as $name) { |
|
226 | + foreach($stringFields as $name) { |
|
227 | 227 | // Add the stemmed and the unstemmed for now |
228 | 228 | $fieldName = $name; |
229 | - if (!$usingProvidedHighlightFields) { |
|
229 | + if(!$usingProvidedHighlightFields) { |
|
230 | 230 | $fieldName .= '.standard'; |
231 | 231 | } |
232 | 232 | $highlightFields[$fieldName] = array( |
@@ -242,9 +242,9 @@ discard block |
||
242 | 242 | 'fields' => $highlightFields |
243 | 243 | ); |
244 | 244 | |
245 | - if ($query->MoreLikeThis) { |
|
245 | + if($query->MoreLikeThis) { |
|
246 | 246 | $termsMatchingQuery = array(); |
247 | - foreach ($this->MoreLikeThisTerms as $field => $terms) { |
|
247 | + foreach($this->MoreLikeThisTerms as $field => $terms) { |
|
248 | 248 | $termQuery = array('multi_match' => array( |
249 | 249 | 'query' => implode(' ', $terms), |
250 | 250 | 'type' => 'most_fields', |
@@ -262,8 +262,8 @@ discard block |
||
262 | 262 | |
263 | 263 | //$search = new Search(new Client()); |
264 | 264 | $search->addIndex($this->getLocaleIndexName()); |
265 | - if (!$empty($types)) { |
|
266 | - foreach ($types as $type) { |
|
265 | + if(!$empty($types)) { |
|
266 | + foreach($types as $type) { |
|
267 | 267 | $search->addType($type); |
268 | 268 | } |
269 | 269 | } |
@@ -272,7 +272,7 @@ discard block |
||
272 | 272 | $path = $search->getPath(); |
273 | 273 | $params = $search->getOptions(); |
274 | 274 | $searchResults = $search->search($query, $params); |
275 | - if (isset($this->MoreLikeThisTerms)) { |
|
275 | + if(isset($this->MoreLikeThisTerms)) { |
|
276 | 276 | $searchResults->MoreLikeThisTerms = $this->MoreLikeThisTerms; |
277 | 277 | } |
278 | 278 | |
@@ -285,7 +285,7 @@ discard block |
||
285 | 285 | */ |
286 | 286 | protected function ensureIndex() { |
287 | 287 | $index = $this->getIndex(); |
288 | - if (!$index->exists()) { |
|
288 | + if(!$index->exists()) { |
|
289 | 289 | $this->createIndex(); |
290 | 290 | } |
291 | 291 | } |
@@ -300,7 +300,7 @@ discard block |
||
300 | 300 | */ |
301 | 301 | protected function ensureMapping(\Elastica\Type $type, \DataObject $record) { |
302 | 302 | $mapping = $type->getMapping(); |
303 | - if ($mapping == array()) { |
|
303 | + if($mapping == array()) { |
|
304 | 304 | $this->ensureIndex(); |
305 | 305 | $mapping = $record->getElasticaMapping(); |
306 | 306 | $type->setMapping($mapping); |
@@ -319,8 +319,8 @@ discard block |
||
319 | 319 | $document = $record->getElasticaDocument(); |
320 | 320 | $typeName = $record->getElasticaType(); |
321 | 321 | |
322 | - if ($this->buffered) { |
|
323 | - if (array_key_exists($typeName, $this->buffer)) { |
|
322 | + if($this->buffered) { |
|
323 | + if(array_key_exists($typeName, $this->buffer)) { |
|
324 | 324 | $this->buffer[$typeName][] = $document; |
325 | 325 | } else { |
326 | 326 | $this->buffer[$typeName] = array($document); |
@@ -363,17 +363,17 @@ discard block |
||
363 | 363 | */ |
364 | 364 | public function endBulkIndex() { |
365 | 365 | $index = $this->getIndex(); |
366 | - foreach ($this->buffer as $type => $documents) { |
|
366 | + foreach($this->buffer as $type => $documents) { |
|
367 | 367 | $amount = 0; |
368 | 368 | |
369 | - foreach (array_keys($this->buffer) as $key) { |
|
369 | + foreach(array_keys($this->buffer) as $key) { |
|
370 | 370 | $amount += sizeof($this->buffer[$key]); |
371 | 371 | } |
372 | 372 | $index->getType($type)->addDocuments($documents); |
373 | 373 | $index->refresh(); |
374 | 374 | |
375 | 375 | ElasticaUtil::message("\tAdding $amount documents to the index\n"); |
376 | - if (isset($this->StartTime)) { |
|
376 | + if(isset($this->StartTime)) { |
|
377 | 377 | $elapsed = microtime(true) - $this->StartTime; |
378 | 378 | $timePerDoc = ($elapsed) / ($this->nDocumentsIndexed); |
379 | 379 | $documentsRemaining = $this->nDocumentsToIndexForLocale - $this->nDocumentsIndexed; |
@@ -412,12 +412,12 @@ discard block |
||
412 | 412 | $index = $this->getIndex(); |
413 | 413 | |
414 | 414 | # Recreate the index |
415 | - if ($index->exists()) { |
|
415 | + if($index->exists()) { |
|
416 | 416 | $index->delete(); |
417 | 417 | } |
418 | 418 | $this->createIndex(); |
419 | 419 | |
420 | - foreach ($this->getIndexedClasses() as $class) { |
|
420 | + foreach($this->getIndexedClasses() as $class) { |
|
421 | 421 | /** @var $sng Searchable */ |
422 | 422 | $sng = singleton($class); |
423 | 423 | $mapping = $sng->getElasticaMapping(); |
@@ -434,8 +434,8 @@ discard block |
||
434 | 434 | * @param \DataList $records |
435 | 435 | */ |
436 | 436 | protected function refreshRecords($records) { |
437 | - foreach ($records as $record) { |
|
438 | - if ($record->showRecordInSearch()) { |
|
437 | + foreach($records as $record) { |
|
438 | + if($record->showRecordInSearch()) { |
|
439 | 439 | $this->index($record); |
440 | 440 | } |
441 | 441 | } |
@@ -453,14 +453,14 @@ discard block |
||
453 | 453 | protected function recordsByClassConsiderVersioned($class, $pageSize = 0, $page = 0) { |
454 | 454 | $offset = $page * $pageSize; |
455 | 455 | |
456 | - if ($class::has_extension("Versioned")) { |
|
457 | - if ($pageSize > 0) { |
|
456 | + if($class::has_extension("Versioned")) { |
|
457 | + if($pageSize > 0) { |
|
458 | 458 | $records = \Versioned::get_by_stage($class, 'Live')->limit($pageSize, $offset); |
459 | 459 | } else { |
460 | 460 | $records = \Versioned::get_by_stage($class, 'Live'); |
461 | 461 | } |
462 | 462 | } else { |
463 | - if ($pageSize > 0) { |
|
463 | + if($pageSize > 0) { |
|
464 | 464 | $records = $class::get()->limit($pageSize, $offset); |
465 | 465 | } else { |
466 | 466 | $records = $class::get(); |
@@ -482,7 +482,7 @@ discard block |
||
482 | 482 | $pages = $nRecords / $batchSize + 1; |
483 | 483 | $processing = true; |
484 | 484 | |
485 | - for ($i = 0; $i < $pages; $i++) { |
|
485 | + for($i = 0; $i < $pages; $i++) { |
|
486 | 486 | $this->startBulkIndex(); |
487 | 487 | $pagedRecords = $this->recordsByClassConsiderVersioned($class, $batchSize, $i); |
488 | 488 | $this->nDocumentsIndexed += $pagedRecords->count(); |
@@ -507,7 +507,7 @@ discard block |
||
507 | 507 | //Count the number of documents for this locale |
508 | 508 | $amount = 0; |
509 | 509 | echo "CURRENT LOCALE:" . $this->locale; |
510 | - foreach ($classes as $class) { |
|
510 | + foreach($classes as $class) { |
|
511 | 511 | $amount += $this->recordsByClassConsiderVersioned($class)->count(); |
512 | 512 | } |
513 | 513 | |
@@ -516,17 +516,17 @@ discard block |
||
516 | 516 | |
517 | 517 | $index = $this->getIndex(); |
518 | 518 | |
519 | - foreach ($this->getIndexedClasses() as $classname) { |
|
519 | + foreach($this->getIndexedClasses() as $classname) { |
|
520 | 520 | ElasticaUtil::message("Indexing class $classname"); |
521 | 521 | |
522 | 522 | $inSiteTree = $classname === 'SiteTree' ? true : false; |
523 | - if (isset(self::$site_tree_classes[$classname])) { |
|
523 | + if(isset(self::$site_tree_classes[$classname])) { |
|
524 | 524 | $inSiteTree = self::$site_tree_classes[$classname]; |
525 | 525 | } else { |
526 | 526 | $class = new \ReflectionClass($classname); |
527 | - while ($class = $class->getParentClass()) { |
|
527 | + while($class = $class->getParentClass()) { |
|
528 | 528 | $parentClass = $class->getName(); |
529 | - if ($parentClass == 'SiteTree') { |
|
529 | + if($parentClass == 'SiteTree') { |
|
530 | 530 | $inSiteTree = true; |
531 | 531 | break; |
532 | 532 | } |
@@ -537,9 +537,9 @@ discard block |
||
537 | 537 | //$this->refreshClass($classname); |
538 | 538 | |
539 | 539 | |
540 | - if ($inSiteTree) { |
|
540 | + if($inSiteTree) { |
|
541 | 541 | // this prevents the same item being indexed twice due to class inheritance |
542 | - if ($classname === 'SiteTree') { |
|
542 | + if($classname === 'SiteTree') { |
|
543 | 543 | $this->refreshClass($classname); |
544 | 544 | } |
545 | 545 | // Data objects |
@@ -578,7 +578,7 @@ discard block |
||
578 | 578 | public function getIndexSettingsForCurrentLocale() { |
579 | 579 | $result = null; |
580 | 580 | $indexSettings = \Config::inst()->get('Elastica', 'indexsettings'); |
581 | - if (isset($indexSettings[$this->locale])) { |
|
581 | + if(isset($indexSettings[$this->locale])) { |
|
582 | 582 | $settingsClassName = $indexSettings[$this->locale]; |
583 | 583 | $result = \Injector::inst()->create($settingsClassName); |
584 | 584 | } else { |
@@ -600,14 +600,14 @@ discard block |
||
600 | 600 | $whitelist = array('SearchableTestPage', 'SearchableTestFatherPage', 'SearchableTestGrandFatherPage', |
601 | 601 | 'FlickrPhotoTO', 'FlickrTagTO', 'FlickrPhotoTO', 'FlickrAuthorTO', 'FlickrSetTO'); |
602 | 602 | |
603 | - foreach (\ClassInfo::subclassesFor('DataObject') as $candidate) { |
|
603 | + foreach(\ClassInfo::subclassesFor('DataObject') as $candidate) { |
|
604 | 604 | $instance = singleton($candidate); |
605 | 605 | |
606 | 606 | $interfaces = class_implements($candidate); |
607 | 607 | // Only allow test classes in testing mode |
608 | - if (isset($interfaces['TestOnly'])) { |
|
609 | - if (in_array($candidate, $whitelist)) { |
|
610 | - if (!$this->test_mode) { |
|
608 | + if(isset($interfaces['TestOnly'])) { |
|
609 | + if(in_array($candidate, $whitelist)) { |
|
610 | + if(!$this->test_mode) { |
|
611 | 611 | continue; |
612 | 612 | } |
613 | 613 | } else { |
@@ -616,7 +616,7 @@ discard block |
||
616 | 616 | } |
617 | 617 | } |
618 | 618 | |
619 | - if ($instance->hasExtension('SilverStripe\\Elastica\\Searchable')) { |
|
619 | + if($instance->hasExtension('SilverStripe\\Elastica\\Searchable')) { |
|
620 | 620 | $classes[] = $candidate; |
621 | 621 | } |
622 | 622 | } |
@@ -652,15 +652,15 @@ discard block |
||
652 | 652 | |
653 | 653 | $fields = array_keys($fieldMappings); |
654 | 654 | $allFields = array(); |
655 | - foreach ($fields as $field) { |
|
655 | + foreach($fields as $field) { |
|
656 | 656 | array_push($allFields, $field); |
657 | 657 | |
658 | 658 | $mapping = $fieldMappings[$field]; |
659 | 659 | |
660 | 660 | |
661 | - if (isset($mapping['fields'])) { |
|
661 | + if(isset($mapping['fields'])) { |
|
662 | 662 | $subFields = array_keys($mapping['fields']); |
663 | - foreach ($subFields as $subField) { |
|
663 | + foreach($subFields as $subField) { |
|
664 | 664 | $name = $field . '.' . $subField; |
665 | 665 | array_push($allFields, $name); |
666 | 666 | } |