@@ -5,7 +5,7 @@ |
||
| 5 | 5 | * @subpackage tests |
| 6 | 6 | */ |
| 7 | 7 | class SearchableTestPage extends Page implements TestOnly { |
| 8 | - private static $searchable_fields = array('Country','PageDate'); |
|
| 8 | + private static $searchable_fields = array('Country', 'PageDate'); |
|
| 9 | 9 | |
| 10 | 10 | private static $db = array( |
| 11 | 11 | 'Country' => 'Varchar', |
@@ -10,11 +10,11 @@ discard block |
||
| 10 | 10 | |
| 11 | 11 | public function __construct() { |
| 12 | 12 | $aspectAgg = new RangedAggregation('Aspect', 'AspectRatio'); |
| 13 | - $aspectAgg->addRange(0.0000001, 0.3, 'Panoramic'); |
|
| 14 | - $aspectAgg->addRange(0.3, 0.9, 'Horizontal'); |
|
| 15 | - $aspectAgg->addRange(0.9, 1.2, 'Square'); |
|
| 16 | - $aspectAgg->addRange(1.2, 1.79, 'Vertical'); |
|
| 17 | - $aspectAgg->addRange(1.79, 1e7, 'Tallest'); |
|
| 13 | + $aspectAgg->addRange(0.0000001, 0.3, 'Panoramic'); |
|
| 14 | + $aspectAgg->addRange(0.3, 0.9, 'Horizontal'); |
|
| 15 | + $aspectAgg->addRange(0.9, 1.2, 'Square'); |
|
| 16 | + $aspectAgg->addRange(1.2, 1.79, 'Vertical'); |
|
| 17 | + $aspectAgg->addRange(1.79, 1e7, 'Tallest'); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | private static $titleFieldMapping = array( |
@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | |
| 74 | 74 | |
| 75 | 75 | $aspectRangedAgg = RangedAggregation::getByTitle('Aspect'); |
| 76 | - $query->addAggregation($aspectRangedAgg->getRangeAgg()); |
|
| 76 | + $query->addAggregation($aspectRangedAgg->getRangeAgg()); |
|
| 77 | 77 | |
| 78 | 78 | // leave this out for the moment as way too many terms being returned slowing things down |
| 79 | 79 | /* |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | use SilverStripe\Elastica\RangedAggregation; |
| 7 | 7 | |
| 8 | 8 | |
| 9 | -class FlickrPhotoTOElasticaSearchHelper implements ElasticaSearchHelperInterface,TestOnly { |
|
| 9 | +class FlickrPhotoTOElasticaSearchHelper implements ElasticaSearchHelperInterface, TestOnly { |
|
| 10 | 10 | |
| 11 | 11 | public function __construct() { |
| 12 | 12 | $aspectAgg = new RangedAggregation('Aspect', 'AspectRatio'); |
@@ -36,7 +36,7 @@ discard block |
||
| 36 | 36 | 'query_string' => array('query' => '*') |
| 37 | 37 | ); |
| 38 | 38 | |
| 39 | - if ($query->OriginalQueryText == '') { |
|
| 39 | + if($query->OriginalQueryText == '') { |
|
| 40 | 40 | $query->setSort(array('TakenAt'=> 'desc')); |
| 41 | 41 | } |
| 42 | 42 | |
@@ -104,27 +104,27 @@ discard block |
||
| 104 | 104 | // shutter speed is stored as decimal to 6 decimal places, then a |
| 105 | 105 | // vertical bar followed by the displayed speed as a fraction or a |
| 106 | 106 | // whole number. This puts the decimal back for matching purposes |
| 107 | - if (isset($filters['ShutterSpeed'])) { |
|
| 107 | + if(isset($filters['ShutterSpeed'])) { |
|
| 108 | 108 | |
| 109 | 109 | $sortable = $filters['ShutterSpeed']; |
| 110 | 110 | |
| 111 | 111 | echo "SORTABLE:$sortable\n"; |
| 112 | 112 | |
| 113 | 113 | $sortable = explode('/', $sortable); |
| 114 | - if (sizeof($sortable) == 1) { |
|
| 114 | + if(sizeof($sortable) == 1) { |
|
| 115 | 115 | $sortable = trim($sortable[0]); |
| 116 | 116 | |
| 117 | - if ($sortable === '1') { |
|
| 117 | + if($sortable === '1') { |
|
| 118 | 118 | $sortable = '1.000000|1'; |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | - } else if (sizeof($sortable) == 2) { |
|
| 122 | - if ($sortable[0] === '' || $sortable[1] === '') { |
|
| 121 | + } else if(sizeof($sortable) == 2) { |
|
| 122 | + if($sortable[0] === '' || $sortable[1] === '') { |
|
| 123 | 123 | $sortable = ''; |
| 124 | 124 | |
| 125 | 125 | } else { |
| 126 | - $sortable = floatval($sortable[0])/intval($sortable[1]); |
|
| 127 | - $sortable = round($sortable,6); |
|
| 126 | + $sortable = floatval($sortable[0]) / intval($sortable[1]); |
|
| 127 | + $sortable = round($sortable, 6); |
|
| 128 | 128 | $sortable = $sortable . '|' . $filters['ShutterSpeed']; |
| 129 | 129 | } |
| 130 | 130 | |
@@ -147,7 +147,7 @@ discard block |
||
| 147 | 147 | // the shutter speeds are of the form decimal number | fraction, keep the latter half |
| 148 | 148 | $shutterSpeeds = $aggs['ShutterSpeed']['buckets']; |
| 149 | 149 | $ctr = 0; |
| 150 | - foreach ($shutterSpeeds as $bucket) { |
|
| 150 | + foreach($shutterSpeeds as $bucket) { |
|
| 151 | 151 | $key = $bucket['key']; |
| 152 | 152 | $splits = explode('|', $key); |
| 153 | 153 | $shutterSpeeds[$ctr]['key'] = end($splits); |
@@ -115,10 +115,10 @@ discard block |
||
| 115 | 115 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 116 | 116 | $url = rtrim($url,'/'); |
| 117 | 117 | |
| 118 | - $response = $this->get($url); |
|
| 119 | - $this->assertEquals(200, $response->getStatusCode()); |
|
| 118 | + $response = $this->get($url); |
|
| 119 | + $this->assertEquals(200, $response->getStatusCode()); |
|
| 120 | 120 | |
| 121 | - $this->assertSelectorStartsWithOrEquals('span.count', 0, '(5)'); |
|
| 121 | + $this->assertSelectorStartsWithOrEquals('span.count', 0, '(5)'); |
|
| 122 | 122 | $this->assertSelectorStartsWithOrEquals('span.count', 1, '(11)'); |
| 123 | 123 | $this->assertSelectorStartsWithOrEquals('span.count', 2, '(12)'); |
| 124 | 124 | $this->assertSelectorStartsWithOrEquals('span.count', 3, '(13)'); |
@@ -168,10 +168,10 @@ discard block |
||
| 168 | 168 | $url = rtrim($url,'/'); |
| 169 | 169 | $url .= '?ISO=400'; |
| 170 | 170 | |
| 171 | - $response = $this->get($url); |
|
| 172 | - $this->assertEquals(200, $response->getStatusCode()); |
|
| 171 | + $response = $this->get($url); |
|
| 172 | + $this->assertEquals(200, $response->getStatusCode()); |
|
| 173 | 173 | |
| 174 | - // These are less than in the no facets selected case, as expected |
|
| 174 | + // These are less than in the no facets selected case, as expected |
|
| 175 | 175 | $this->assertSelectorStartsWithOrEquals('span.count', 0, '(2)'); |
| 176 | 176 | $this->assertSelectorStartsWithOrEquals('span.count', 1, '(1)'); |
| 177 | 177 | $this->assertSelectorStartsWithOrEquals('span.count', 2, '(2)'); |
@@ -215,12 +215,12 @@ discard block |
||
| 215 | 215 | $url = rtrim($url,'/'); |
| 216 | 216 | $url .= '?ISO=400&ShutterSpeed=2%2F250'; |
| 217 | 217 | |
| 218 | - $response = $this->get($url); |
|
| 218 | + $response = $this->get($url); |
|
| 219 | 219 | print_r($response); |
| 220 | - $this->assertEquals(200, $response->getStatusCode()); |
|
| 220 | + $this->assertEquals(200, $response->getStatusCode()); |
|
| 221 | 221 | |
| 222 | - // These are less than in the one facet selected case, as expected |
|
| 223 | - $this->assertSelectorStartsWithOrEquals('span.count', 0, '(1)'); |
|
| 222 | + // These are less than in the one facet selected case, as expected |
|
| 223 | + $this->assertSelectorStartsWithOrEquals('span.count', 0, '(1)'); |
|
| 224 | 224 | $this->assertSelectorStartsWithOrEquals('span.count', 1, '(2)'); |
| 225 | 225 | $this->assertSelectorStartsWithOrEquals('span.count', 2, '(1)'); |
| 226 | 226 | $this->assertSelectorStartsWithOrEquals('span.count', 3, '(1)'); |
@@ -249,12 +249,12 @@ discard block |
||
| 249 | 249 | $url = rtrim($url,'/'); |
| 250 | 250 | $url .= '?ISO=400&ShutterSpeed=2%2F250&Aspect=Vertical'; |
| 251 | 251 | |
| 252 | - $response = $this->get($url); |
|
| 252 | + $response = $this->get($url); |
|
| 253 | 253 | print_r($response); |
| 254 | - $this->assertEquals(200, $response->getStatusCode()); |
|
| 254 | + $this->assertEquals(200, $response->getStatusCode()); |
|
| 255 | 255 | |
| 256 | - // These are less than in the one facet selected case, as expected |
|
| 257 | - $this->assertSelectorStartsWithOrEquals('span.count', 0, '(2)'); |
|
| 256 | + // These are less than in the one facet selected case, as expected |
|
| 257 | + $this->assertSelectorStartsWithOrEquals('span.count', 0, '(2)'); |
|
| 258 | 258 | $this->assertSelectorStartsWithOrEquals('span.count', 1, '(1)'); |
| 259 | 259 | $this->assertSelectorStartsWithOrEquals('span.count', 2, '(1)'); |
| 260 | 260 | } |
@@ -602,13 +602,13 @@ discard block |
||
| 602 | 602 | $searchPage = $this->get($searchPageObj->URLSegment); |
| 603 | 603 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 604 | 604 | |
| 605 | - $response = $this->submitForm("ElasticSearchForm_SearchForm", null, array( |
|
| 606 | - 'q' => 'New Zealand' |
|
| 607 | - )); |
|
| 605 | + $response = $this->submitForm("ElasticSearchForm_SearchForm", null, array( |
|
| 606 | + 'q' => 'New Zealand' |
|
| 607 | + )); |
|
| 608 | 608 | |
| 609 | 609 | $url = rtrim($url,'/'); |
| 610 | - $this->assertEquals(302, $response->getStatusCode()); |
|
| 611 | - $this->assertEquals($url.'?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
| 610 | + $this->assertEquals(302, $response->getStatusCode()); |
|
| 611 | + $this->assertEquals($url.'?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
| 612 | 612 | } |
| 613 | 613 | |
| 614 | 614 | |
@@ -40,18 +40,18 @@ discard block |
||
| 40 | 40 | $extraFields = array('Searchable' => 1, 'SimilarSearchable' => 1, 'Active' => 1, |
| 41 | 41 | 'Weight' => 1); |
| 42 | 42 | $esfs2 = $esp2->ElasticaSearchableFields(); |
| 43 | - foreach ($esfs2 as $sf) { |
|
| 44 | - if ($sf->Name == 'Title' || $sf->Name == 'Description') { |
|
| 43 | + foreach($esfs2 as $sf) { |
|
| 44 | + if($sf->Name == 'Title' || $sf->Name == 'Description') { |
|
| 45 | 45 | $esfs2->remove($sf); |
| 46 | 46 | $esfs2->add($sf, $extraFields); |
| 47 | 47 | } |
| 48 | 48 | } |
| 49 | 49 | $esp2->write(); |
| 50 | 50 | |
| 51 | - $esfs= $esp->ElasticaSearchableFields(); |
|
| 51 | + $esfs = $esp->ElasticaSearchableFields(); |
|
| 52 | 52 | |
| 53 | - foreach ($esfs as $sf) { |
|
| 54 | - if ($sf->Name == 'Title' || $sf->Name == 'Description') { |
|
| 53 | + foreach($esfs as $sf) { |
|
| 54 | + if($sf->Name == 'Title' || $sf->Name == 'Description') { |
|
| 55 | 55 | $esfs->remove($sf); |
| 56 | 56 | $esfs->add($sf, $extraFields); |
| 57 | 57 | } |
@@ -80,10 +80,10 @@ discard block |
||
| 80 | 80 | $esp->ElasticaSearchableFields()->add($espf2); |
| 81 | 81 | $esp2->ElasticaSearchableFields()->add($espf2); |
| 82 | 82 | */ |
| 83 | - $esp->publish('Stage','Live'); |
|
| 84 | - $esp2->publish('Stage','Live'); |
|
| 83 | + $esp->publish('Stage', 'Live'); |
|
| 84 | + $esp2->publish('Stage', 'Live'); |
|
| 85 | 85 | $this->ElasticSearchPage = $esp; |
| 86 | - $this->ElasticSearchPage2= $esp2; |
|
| 86 | + $this->ElasticSearchPage2 = $esp2; |
|
| 87 | 87 | |
| 88 | 88 | |
| 89 | 89 | echo "CHECK MYSQL"; |
@@ -113,7 +113,7 @@ discard block |
||
| 113 | 113 | $url = $searchPageObj->Link(); |
| 114 | 114 | $searchPage = $this->get($searchPageObj->URLSegment); |
| 115 | 115 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 116 | - $url = rtrim($url,'/'); |
|
| 116 | + $url = rtrim($url, '/'); |
|
| 117 | 117 | |
| 118 | 118 | $response = $this->get($url); |
| 119 | 119 | $this->assertEquals(200, $response->getStatusCode()); |
@@ -165,7 +165,7 @@ discard block |
||
| 165 | 165 | $url = $searchPageObj->Link(); |
| 166 | 166 | $searchPage = $this->get($searchPageObj->URLSegment); |
| 167 | 167 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 168 | - $url = rtrim($url,'/'); |
|
| 168 | + $url = rtrim($url, '/'); |
|
| 169 | 169 | $url .= '?ISO=400'; |
| 170 | 170 | |
| 171 | 171 | $response = $this->get($url); |
@@ -212,7 +212,7 @@ discard block |
||
| 212 | 212 | $url = $searchPageObj->Link(); |
| 213 | 213 | $searchPage = $this->get($searchPageObj->URLSegment); |
| 214 | 214 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 215 | - $url = rtrim($url,'/'); |
|
| 215 | + $url = rtrim($url, '/'); |
|
| 216 | 216 | $url .= '?ISO=400&ShutterSpeed=2%2F250'; |
| 217 | 217 | |
| 218 | 218 | $response = $this->get($url); |
@@ -246,7 +246,7 @@ discard block |
||
| 246 | 246 | $url = $searchPageObj->Link(); |
| 247 | 247 | $searchPage = $this->get($searchPageObj->URLSegment); |
| 248 | 248 | $this->assertEquals(200, $searchPage->getStatusCode()); |
| 249 | - $url = rtrim($url,'/'); |
|
| 249 | + $url = rtrim($url, '/'); |
|
| 250 | 250 | $url .= '?ISO=400&ShutterSpeed=2%2F250&Aspect=Vertical'; |
| 251 | 251 | |
| 252 | 252 | $response = $this->get($url); |
@@ -290,9 +290,9 @@ discard block |
||
| 290 | 290 | public function testQueryInSearchBoxForOneFormOnly() { |
| 291 | 291 | $searchPageObj = $this->ElasticSearchPage2; |
| 292 | 292 | $url = rtrim($searchPageObj->Link(), '/'); |
| 293 | - $url .= "?q=Auckland&sfid=".$searchPageObj->Identifier; |
|
| 293 | + $url .= "?q=Auckland&sfid=" . $searchPageObj->Identifier; |
|
| 294 | 294 | |
| 295 | - echo "URL:".$url; |
|
| 295 | + echo "URL:" . $url; |
|
| 296 | 296 | $response = $this->get($url); |
| 297 | 297 | |
| 298 | 298 | print_r($response); |
@@ -319,7 +319,7 @@ discard block |
||
| 319 | 319 | $pageLength = 10; // the default |
| 320 | 320 | $searchPageObj->ResultsPerPage = $pageLength; |
| 321 | 321 | $searchPageObj->write(); |
| 322 | - $searchPageObj->publish('Stage','Live'); |
|
| 322 | + $searchPageObj->publish('Stage', 'Live'); |
|
| 323 | 323 | |
| 324 | 324 | $url = rtrim($searchPageObj->Link(), '/'); |
| 325 | 325 | $response = $this->get($url); |
@@ -558,7 +558,7 @@ discard block |
||
| 558 | 558 | //Note pages need to be published, by default fixtures only reside in Stage |
| 559 | 559 | $searchPageObj = $this->ElasticSearchPage2; |
| 560 | 560 | $url = rtrim($searchPageObj->Link(), '/'); |
| 561 | - $url = $url.'?q='.$searchTerm; |
|
| 561 | + $url = $url . '?q=' . $searchTerm; |
|
| 562 | 562 | echo "URL:$url\n"; |
| 563 | 563 | $response = $this->get($url); |
| 564 | 564 | $this->assertEquals(200, $response->getStatusCode()); |
@@ -606,9 +606,9 @@ discard block |
||
| 606 | 606 | 'q' => 'New Zealand' |
| 607 | 607 | )); |
| 608 | 608 | |
| 609 | - $url = rtrim($url,'/'); |
|
| 609 | + $url = rtrim($url, '/'); |
|
| 610 | 610 | $this->assertEquals(302, $response->getStatusCode()); |
| 611 | - $this->assertEquals($url.'?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
| 611 | + $this->assertEquals($url . '?q=New Zealand&sfid=testwithagg', $response->getHeader('Location')); |
|
| 612 | 612 | } |
| 613 | 613 | |
| 614 | 614 | |
@@ -628,7 +628,7 @@ discard block |
||
| 628 | 628 | //Note pages need to be published, by default fixtures only reside in Stage |
| 629 | 629 | $searchPageObj = $this->ElasticSearchPage; |
| 630 | 630 | $url = rtrim($searchPageObj->Link(), '/'); |
| 631 | - $url = $url.'?q='.$searchTerm; |
|
| 631 | + $url = $url . '?q=' . $searchTerm; |
|
| 632 | 632 | echo "URL:$url\n"; |
| 633 | 633 | $response = $this->get($url); |
| 634 | 634 | $this->assertEquals(200, $response->getStatusCode()); |
@@ -673,13 +673,13 @@ discard block |
||
| 673 | 673 | $searchPageObj = $this->ElasticSearchPage; |
| 674 | 674 | $searchPageObj->SiteTreeOnly = true; |
| 675 | 675 | $searchPageObj->write(); |
| 676 | - $searchPageObj->publish('Stage','Live'); |
|
| 676 | + $searchPageObj->publish('Stage', 'Live'); |
|
| 677 | 677 | |
| 678 | 678 | |
| 679 | 679 | $pageLength = 10; // the default |
| 680 | 680 | $searchPageObj->ResultsPerPage = $pageLength; |
| 681 | 681 | $url = rtrim($searchPageObj->Link(), '/'); |
| 682 | - $url = $url.'?q='.$searchTerm; |
|
| 682 | + $url = $url . '?q=' . $searchTerm; |
|
| 683 | 683 | $firstPageURL = $url; |
| 684 | 684 | $response = $this->get($url); |
| 685 | 685 | $this->assertEquals(200, $response->getStatusCode()); |
@@ -714,7 +714,7 @@ discard block |
||
| 714 | 714 | $pageLength = 10; // the default |
| 715 | 715 | $searchPageObj->ResultsPerPage = $pageLength; |
| 716 | 716 | $url = rtrim($searchPageObj->Link(), '/'); |
| 717 | - $url = $url.'?q='.$searchTerm; |
|
| 717 | + $url = $url . '?q=' . $searchTerm; |
|
| 718 | 718 | $firstPageURL = $url; |
| 719 | 719 | $response = $this->get($url); |
| 720 | 720 | $this->assertEquals(200, $response->getStatusCode()); |
@@ -739,7 +739,7 @@ discard block |
||
| 739 | 739 | |
| 740 | 740 | $resultsP1 = $this->collateSearchResults(); |
| 741 | 741 | |
| 742 | - $page2url = $url . '&start='.$pageLength; |
|
| 742 | + $page2url = $url . '&start=' . $pageLength; |
|
| 743 | 743 | |
| 744 | 744 | //Check pagination on page 2 |
| 745 | 745 | $response2 = $this->get($page2url); |
@@ -766,19 +766,19 @@ discard block |
||
| 766 | 766 | //increase the number of results and assert that they are the same as per pages 1,2 joined |
| 767 | 767 | $searchPageObj->ResultsPerPage = 20; |
| 768 | 768 | $searchPageObj->write(); |
| 769 | - $searchPageObj->publish('Stage','Live'); |
|
| 769 | + $searchPageObj->publish('Stage', 'Live'); |
|
| 770 | 770 | $response3 = $this->get($firstPageURL); |
| 771 | 771 | } |
| 772 | 772 | |
| 773 | 773 | |
| 774 | 774 | private function enableHighlights() { |
| 775 | - foreach (SearchableField::get()->filter('Name', 'Title') as $sf) { |
|
| 775 | + foreach(SearchableField::get()->filter('Name', 'Title') as $sf) { |
|
| 776 | 776 | echo "Highlighting {$sf->ClazzName} {$sf->Name}\n"; |
| 777 | 777 | $sf->ShowHighlights = true; |
| 778 | 778 | $sf->write(); |
| 779 | 779 | } |
| 780 | 780 | |
| 781 | - foreach (SearchableField::get()->filter('Name', 'Content') as $sf) { |
|
| 781 | + foreach(SearchableField::get()->filter('Name', 'Content') as $sf) { |
|
| 782 | 782 | echo "Highlighting {$sf->ClazzName} {$sf->Name}\n"; |
| 783 | 783 | |
| 784 | 784 | $sf->ShowHighlights = true; |
@@ -17,8 +17,8 @@ |
||
| 17 | 17 | sort($terms); |
| 18 | 18 | $expected = array('Description', 'Description.shingles', 'Description.standard', |
| 19 | 19 | 'ShutterSpeed', |
| 20 | - 'TestMethod','TestMethod.shingles','TestMethod.standard', |
|
| 21 | - 'TestMethodHTML','TestMethodHTML.shingles','TestMethodHTML.standard', |
|
| 20 | + 'TestMethod', 'TestMethod.shingles', 'TestMethod.standard', |
|
| 21 | + 'TestMethodHTML', 'TestMethodHTML.shingles', 'TestMethodHTML.standard', |
|
| 22 | 22 | 'Title', 'Title.autocomplete', 'Title.shingles', 'Title.standard'); |
| 23 | 23 | $this->assertEquals($expected, $terms); |
| 24 | 24 | |
@@ -27,7 +27,7 @@ discard block |
||
| 27 | 27 | $this->invokeMethod($this->service, 'createIndex', array()); |
| 28 | 28 | $this->assertFalse(true, "Creation of index with unknown locale should have failed"); |
| 29 | 29 | } catch (Exception $e) { |
| 30 | - $this->assertTrue(true,"Creation of index with unknown locale failed as expected"); |
|
| 30 | + $this->assertTrue(true, "Creation of index with unknown locale failed as expected"); |
|
| 31 | 31 | } |
| 32 | 32 | |
| 33 | 33 | |
@@ -116,7 +116,7 @@ discard block |
||
| 116 | 116 | $fp->write(); |
| 117 | 117 | $this->service->getIndex()->refresh(); |
| 118 | 118 | |
| 119 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart-1); |
|
| 119 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart - 1); |
|
| 120 | 120 | |
| 121 | 121 | $fp->ShowInSearch = true; |
| 122 | 122 | $fp->write(); |
@@ -134,7 +134,7 @@ discard block |
||
| 134 | 134 | $fp->doUnpublish(); |
| 135 | 135 | |
| 136 | 136 | $this->service->getIndex()->refresh(); |
| 137 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart-1); |
|
| 137 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart - 1); |
|
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | |
@@ -146,7 +146,7 @@ discard block |
||
| 146 | 146 | $fp->delete(); |
| 147 | 147 | |
| 148 | 148 | $this->service->getIndex()->refresh(); |
| 149 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart-1); |
|
| 149 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart - 1); |
|
| 150 | 150 | } |
| 151 | 151 | |
| 152 | 152 | |
@@ -158,7 +158,7 @@ discard block |
||
| 158 | 158 | $fp->delete(); |
| 159 | 159 | |
| 160 | 160 | $this->service->getIndex()->refresh(); |
| 161 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart-1); |
|
| 161 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart - 1); |
|
| 162 | 162 | } |
| 163 | 163 | |
| 164 | 164 | |
@@ -177,7 +177,7 @@ discard block |
||
| 177 | 177 | //Check that the number of indexing requests has increased by 2 |
| 178 | 178 | $deltaReqs = $this->service->getIndexingRequestCtr() - $reqs; |
| 179 | 179 | //One call is made for each of Page and FlickrPhotoTO |
| 180 | - $this->assertEquals(2,$deltaReqs); |
|
| 180 | + $this->assertEquals(2, $deltaReqs); |
|
| 181 | 181 | |
| 182 | 182 | // default installed pages plus 100 FlickrPhotoTOs |
| 183 | 183 | $this->checkNumberOfIndexedDocuments(103); |
@@ -195,21 +195,21 @@ discard block |
||
| 195 | 195 | $fp = new FlickrPhotoTO(); |
| 196 | 196 | $fp->Title = 'The cat sits on the mat'; |
| 197 | 197 | $fp->write(); |
| 198 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart+1); |
|
| 198 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart + 1); |
|
| 199 | 199 | |
| 200 | 200 | $fp2 = new FlickrPhotoTO(); |
| 201 | 201 | $fp2->Title = 'The cat sat on the hat'; |
| 202 | 202 | $fp2->write(); |
| 203 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart+2); |
|
| 203 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart + 2); |
|
| 204 | 204 | |
| 205 | 205 | $fp3 = new FlickrPhotoTO(); |
| 206 | 206 | $fp3->Title = 'The bat flew around the cat'; |
| 207 | 207 | $fp3->write(); |
| 208 | - $this->checkNumberOfIndexedDocuments($nDocsAtStart+3); |
|
| 208 | + $this->checkNumberOfIndexedDocuments($nDocsAtStart + 3); |
|
| 209 | 209 | |
| 210 | 210 | //Check that the number of indexing requests has increased by 3 |
| 211 | 211 | $deltaReqs = $this->service->getIndexingRequestCtr() - $reqs; |
| 212 | - $this->assertEquals(3,$deltaReqs); |
|
| 212 | + $this->assertEquals(3, $deltaReqs); |
|
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | |
@@ -283,6 +283,6 @@ discard block |
||
| 283 | 283 | public function testListIndexes() { |
| 284 | 284 | $message = 'This is a test trace'; |
| 285 | 285 | $trace = $this->service->listIndexes($message); |
| 286 | - $this->assertContains('elastica_ss_module_test_en_us', print_r($trace,1)); |
|
| 286 | + $this->assertContains('elastica_ss_module_test_en_us', print_r($trace, 1)); |
|
| 287 | 287 | } |
| 288 | 288 | } |
@@ -25,11 +25,11 @@ discard block |
||
| 25 | 25 | // don't check the server name as this will differ, just check the path is /search/ |
| 26 | 26 | $uri = $searchPage->SearchPageURI('testsearchpage'); |
| 27 | 27 | $splits = explode('/', $uri); |
| 28 | - $this->assertEquals($splits[3],'search'); |
|
| 28 | + $this->assertEquals($splits[3], 'search'); |
|
| 29 | 29 | |
| 30 | 30 | // check the form |
| 31 | 31 | $form = $searchPage->SearchPageForm('testsearchpage'); |
| 32 | - $this->assertInstanceOf('ElasticSearchForm',$form); |
|
| 32 | + $this->assertInstanceOf('ElasticSearchForm', $form); |
|
| 33 | 33 | |
| 34 | 34 | $fields = $form->Fields(); |
| 35 | 35 | $actions = $form->Actions(); |
@@ -45,7 +45,7 @@ discard block |
||
| 45 | 45 | public function testButtonOverride() { |
| 46 | 46 | $searchPage = $this->objFromFixture('ElasticSearchPage', 'search'); |
| 47 | 47 | $buttonText = 'Search Me!'; |
| 48 | - $form = $searchPage->SearchPageForm('testsearchpage',$buttonText); |
|
| 48 | + $form = $searchPage->SearchPageForm('testsearchpage', $buttonText); |
|
| 49 | 49 | $actions = $form->Actions(); |
| 50 | 50 | $this->assertEquals($buttonText, $actions->FieldByName('action_submit')->Title()); |
| 51 | 51 | } |
@@ -86,12 +86,12 @@ discard block |
||
| 86 | 86 | $esp = new ElasticSearchPage(); |
| 87 | 87 | // ensure default identifier |
| 88 | 88 | $esp->Identifier = $searchPage->Identifier; |
| 89 | - $esp->Title='This should not be saved'; |
|
| 89 | + $esp->Title = 'This should not be saved'; |
|
| 90 | 90 | try { |
| 91 | 91 | $esp->write(); |
| 92 | 92 | $this->assertFalse(true, 'Duplicate identifier was incorrectly saved'); |
| 93 | 93 | } catch (Exception $e) { |
| 94 | - $this->assertTrue(true,'The page could not be saved as expected, due to duplicate '. |
|
| 94 | + $this->assertTrue(true, 'The page could not be saved as expected, due to duplicate ' . |
|
| 95 | 95 | 'identifier'); |
| 96 | 96 | } |
| 97 | 97 | } |
@@ -434,11 +434,11 @@ discard block |
||
| 434 | 434 | |
| 435 | 435 | |
| 436 | 436 | |
| 437 | - $query = new Query(); |
|
| 438 | - $query->setParams(array('query' => array('more_like_this' => $mlt))); |
|
| 437 | + $query = new Query(); |
|
| 438 | + $query->setParams(array('query' => array('more_like_this' => $mlt))); |
|
| 439 | 439 | |
| 440 | 440 | |
| 441 | - $elasticService = \Injector::inst()->create('SilverStripe\Elastica\ElasticaService'); |
|
| 441 | + $elasticService = \Injector::inst()->create('SilverStripe\Elastica\ElasticaService'); |
|
| 442 | 442 | $elasticService->setLocale($this->locale); |
| 443 | 443 | if ($testMode) { |
| 444 | 444 | $elasticService->setTestMode(true); |
@@ -450,7 +450,7 @@ discard block |
||
| 450 | 450 | $query->setFrom($this->start); |
| 451 | 451 | |
| 452 | 452 | $resultList = new ResultList($elasticService, $query, null); |
| 453 | - // at this point ResultList object, not yet executed search query |
|
| 453 | + // at this point ResultList object, not yet executed search query |
|
| 454 | 454 | $paginated = new \PaginatedList( |
| 455 | 455 | $resultList |
| 456 | 456 | ); |
@@ -230,6 +230,10 @@ discard block |
||
| 230 | 230 | /* |
| 231 | 231 | Set the highlight fields for subsequent searches |
| 232 | 232 | */ |
| 233 | + |
|
| 234 | + /** |
|
| 235 | + * @param string[] $newHighlightedFields |
|
| 236 | + */ |
|
| 233 | 237 | public function setHighlightedFields($newHighlightedFields) { |
| 234 | 238 | $this->highlightedFields = $newHighlightedFields; |
| 235 | 239 | } |
@@ -242,7 +246,7 @@ discard block |
||
| 242 | 246 | * @param string $queryText query string, e.g. 'New Zealand' |
| 243 | 247 | * @param array $fieldsToSearch Mapping of name to an array of mapping Weight and Elastic mapping, |
| 244 | 248 | * e.g. array('Title' => array('Weight' => 2, 'Type' => 'string')) |
| 245 | - * @return ArrayList SilverStripe DataObjects returned from the search against ElasticSearch |
|
| 249 | + * @return \PaginatedList SilverStripe DataObjects returned from the search against ElasticSearch |
|
| 246 | 250 | */ |
| 247 | 251 | public function search($queryText, $fieldsToSearch = null, $testMode = false) { |
| 248 | 252 | if ($this->locale == null) { |
@@ -307,6 +311,10 @@ discard block |
||
| 307 | 311 | |
| 308 | 312 | |
| 309 | 313 | /* Perform an autocomplete search */ |
| 314 | + |
|
| 315 | + /** |
|
| 316 | + * @param string $queryText |
|
| 317 | + */ |
|
| 310 | 318 | public function autocomplete_search($queryText, $field) { |
| 311 | 319 | if ($this->locale == null) { |
| 312 | 320 | if (class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
@@ -358,11 +366,11 @@ discard block |
||
| 358 | 366 | |
| 359 | 367 | /** |
| 360 | 368 | * Perform a 'More Like This' search, aka relevance feedback, using the provided indexed DataObject |
| 361 | - * @param DataObject $indexedItem A DataObject that has been indexed in Elasticsearch |
|
| 369 | + * @param \DataObject|null $indexedItem A DataObject that has been indexed in Elasticsearch |
|
| 362 | 370 | * @param array $fieldsToSearch array of fieldnames to search, mapped to weighting |
| 363 | 371 | * @param $$testMode Use all shards, not just one, for consistent results during unit testing. See |
| 364 | 372 | * https://www.elastic.co/guide/en/elasticsearch/guide/current/relevance-is-broken.html#relevance-is-broken |
| 365 | - * @return resultList List of results |
|
| 373 | + * @return \PaginatedList List of results |
|
| 366 | 374 | */ |
| 367 | 375 | public function moreLikeThis($indexedItem, $fieldsToSearch, $testMode = false) { |
| 368 | 376 | echo "INDEXED ITEM:".$indexedItem; |
@@ -469,6 +477,9 @@ discard block |
||
| 469 | 477 | return $result; |
| 470 | 478 | } |
| 471 | 479 | |
| 480 | + /** |
|
| 481 | + * @return string |
|
| 482 | + */ |
|
| 472 | 483 | public function getSuggestedQuery() { |
| 473 | 484 | return $this->SuggestedQuery; |
| 474 | 485 | } |
@@ -244,9 +244,9 @@ discard block |
||
| 244 | 244 | * e.g. array('Title' => array('Weight' => 2, 'Type' => 'string')) |
| 245 | 245 | * @return ArrayList SilverStripe DataObjects returned from the search against ElasticSearch |
| 246 | 246 | */ |
| 247 | - public function search($queryText, $fieldsToSearch = null, $testMode = false) { |
|
| 248 | - if ($this->locale == null) { |
|
| 249 | - if (class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 247 | + public function search($queryText, $fieldsToSearch = null, $testMode = false) { |
|
| 248 | + if($this->locale == null) { |
|
| 249 | + if(class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 250 | 250 | $this->locale = \Translatable::get_current_locale(); |
| 251 | 251 | } else { |
| 252 | 252 | // if no translatable we only have the default locale |
@@ -273,7 +273,7 @@ discard block |
||
| 273 | 273 | $elasticService = \Injector::inst()->create('SilverStripe\Elastica\ElasticaService'); |
| 274 | 274 | $elasticService->setLocale($this->locale); |
| 275 | 275 | $elasticService->setHighlightedFields($this->highlightedFields); |
| 276 | - if ($testMode) { |
|
| 276 | + if($testMode) { |
|
| 277 | 277 | $elasticService->setTestMode(true); |
| 278 | 278 | } |
| 279 | 279 | $resultList = new ResultList($elasticService, $query, $queryText, $this->filters); |
@@ -298,7 +298,7 @@ discard block |
||
| 298 | 298 | |
| 299 | 299 | $this->aggregations = $resultList->getAggregations(); |
| 300 | 300 | |
| 301 | - if ($resultList->SuggestedQuery) { |
|
| 301 | + if($resultList->SuggestedQuery) { |
|
| 302 | 302 | $this->SuggestedQuery = $resultList->SuggestedQuery; |
| 303 | 303 | $this->SuggestedQueryHighlighted = $resultList->SuggestedQueryHighlighted; |
| 304 | 304 | } |
@@ -308,8 +308,8 @@ discard block |
||
| 308 | 308 | |
| 309 | 309 | /* Perform an autocomplete search */ |
| 310 | 310 | public function autocomplete_search($queryText, $field) { |
| 311 | - if ($this->locale == null) { |
|
| 312 | - if (class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 311 | + if($this->locale == null) { |
|
| 312 | + if(class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 313 | 313 | $this->locale = \Translatable::get_current_locale(); |
| 314 | 314 | } else { |
| 315 | 315 | // if no translatable we only have the default locale |
@@ -324,11 +324,11 @@ discard block |
||
| 324 | 324 | echo "FIELD\n"; |
| 325 | 325 | print_r($field); |
| 326 | 326 | $qg->setFields(array($field => 1)); |
| 327 | - if ($this->classes) { |
|
| 327 | + if($this->classes) { |
|
| 328 | 328 | $qg->setClasses($this->classes); |
| 329 | 329 | } |
| 330 | 330 | |
| 331 | - if (!empty($this->filters)) { |
|
| 331 | + if(!empty($this->filters)) { |
|
| 332 | 332 | $qg->setSelectedFilters($this->filters); |
| 333 | 333 | } |
| 334 | 334 | |
@@ -365,22 +365,22 @@ discard block |
||
| 365 | 365 | * @return resultList List of results |
| 366 | 366 | */ |
| 367 | 367 | public function moreLikeThis($indexedItem, $fieldsToSearch, $testMode = false) { |
| 368 | - echo "INDEXED ITEM:".$indexedItem; |
|
| 368 | + echo "INDEXED ITEM:" . $indexedItem; |
|
| 369 | 369 | |
| 370 | - if ($indexedItem == null) { |
|
| 370 | + if($indexedItem == null) { |
|
| 371 | 371 | throw new \InvalidArgumentException('A searchable item cannot be null'); |
| 372 | 372 | } |
| 373 | 373 | |
| 374 | - if (!$indexedItem->hasExtension('SilverStripe\Elastica\Searchable')) { |
|
| 375 | - throw new \InvalidArgumentException('Objects of class '.$indexedItem->ClassName.' are not searchable'); |
|
| 374 | + if(!$indexedItem->hasExtension('SilverStripe\Elastica\Searchable')) { |
|
| 375 | + throw new \InvalidArgumentException('Objects of class ' . $indexedItem->ClassName . ' are not searchable'); |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | - if ($fieldsToSearch == null) { |
|
| 378 | + if($fieldsToSearch == null) { |
|
| 379 | 379 | throw new \InvalidArgumentException('Fields cannot be null'); |
| 380 | 380 | } |
| 381 | 381 | |
| 382 | - if ($this->locale == null) { |
|
| 383 | - if (class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 382 | + if($this->locale == null) { |
|
| 383 | + if(class_exists('Translatable') && \SiteTree::has_extension('Translatable')) { |
|
| 384 | 384 | $this->locale = \Translatable::get_current_locale(); |
| 385 | 385 | } else { |
| 386 | 386 | // if no translatable we only have the default locale |
@@ -389,14 +389,14 @@ discard block |
||
| 389 | 389 | } |
| 390 | 390 | |
| 391 | 391 | $weightedFieldsArray = array(); |
| 392 | - foreach ($fieldsToSearch as $field => $weighting) { |
|
| 393 | - if (!is_string($field)) { |
|
| 392 | + foreach($fieldsToSearch as $field => $weighting) { |
|
| 393 | + if(!is_string($field)) { |
|
| 394 | 394 | throw new \InvalidArgumentException('Fields must be of the form fieldname => weight'); |
| 395 | 395 | } |
| 396 | - if (!is_numeric($weighting)) { |
|
| 396 | + if(!is_numeric($weighting)) { |
|
| 397 | 397 | throw new \InvalidArgumentException('Fields must be of the form fieldname => weight'); |
| 398 | 398 | } |
| 399 | - $weightedField = $field.'^'.$weighting; |
|
| 399 | + $weightedField = $field . '^' . $weighting; |
|
| 400 | 400 | $weightedField = str_replace('^1', '', $weightedField); |
| 401 | 401 | array_push($weightedFieldsArray, $weightedField); |
| 402 | 402 | } |
@@ -428,7 +428,7 @@ discard block |
||
| 428 | 428 | 'stop_words' => explode(',', $this->similarityStopWords) |
| 429 | 429 | ); |
| 430 | 430 | |
| 431 | - if ($this->maxDocFreq > 0) { |
|
| 431 | + if($this->maxDocFreq > 0) { |
|
| 432 | 432 | $mlt['max_doc_freq'] = $this->maxDocFreq; |
| 433 | 433 | } |
| 434 | 434 | |
@@ -440,7 +440,7 @@ discard block |
||
| 440 | 440 | |
| 441 | 441 | $elasticService = \Injector::inst()->create('SilverStripe\Elastica\ElasticaService'); |
| 442 | 442 | $elasticService->setLocale($this->locale); |
| 443 | - if ($testMode) { |
|
| 443 | + if($testMode) { |
|
| 444 | 444 | $elasticService->setTestMode(true); |
| 445 | 445 | } |
| 446 | 446 | |
@@ -38,8 +38,8 @@ |
||
| 38 | 38 | $to = $range['to']; |
| 39 | 39 | } |
| 40 | 40 | $rangeFilter = array('gte' => (string)$from, 'lt' => (string)$to); |
| 41 | - $filter = new \Elastica\Filter\Range('AspectRatio', $rangeFilter); |
|
| 42 | - $result = $filter; |
|
| 41 | + $filter = new \Elastica\Filter\Range('AspectRatio', $rangeFilter); |
|
| 42 | + $result = $filter; |
|
| 43 | 43 | } |
| 44 | 44 | } |
| 45 | 45 | |
@@ -14,7 +14,7 @@ discard block |
||
| 14 | 14 | $this->Title = $title; |
| 15 | 15 | $this->Range = new \Elastica\Aggregation\Range($title); |
| 16 | 16 | $this->Range->setField($field); |
| 17 | - self::$ranged_aggregations[$title] = $this;; |
|
| 17 | + self::$ranged_aggregations[$title] = $this; ; |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | |
@@ -24,7 +24,7 @@ discard block |
||
| 24 | 24 | * @param string $name |
| 25 | 25 | */ |
| 26 | 26 | public function addRange($from, $to, $name) { |
| 27 | - $this->Range->addRange($from,$to,$name); |
|
| 27 | + $this->Range->addRange($from, $to, $name); |
|
| 28 | 28 | } |
| 29 | 29 | |
| 30 | 30 | |
@@ -36,14 +36,14 @@ discard block |
||
| 36 | 36 | public function getFilter($chosenName) { |
| 37 | 37 | $rangeArray = $this->Range->toArray()['range']['ranges']; |
| 38 | 38 | $result = null; |
| 39 | - foreach ($rangeArray as $range) { |
|
| 40 | - if ($range['key'] === $chosenName) { |
|
| 39 | + foreach($rangeArray as $range) { |
|
| 40 | + if($range['key'] === $chosenName) { |
|
| 41 | 41 | $from = null; |
| 42 | 42 | $to = null; |
| 43 | - if (isset($range['from'])) { |
|
| 43 | + if(isset($range['from'])) { |
|
| 44 | 44 | $from = $range['from']; |
| 45 | 45 | } |
| 46 | - if (isset($range['to'])) { |
|
| 46 | + if(isset($range['to'])) { |
|
| 47 | 47 | $to = $range['to']; |
| 48 | 48 | } |
| 49 | 49 | $rangeFilter = array('gte' => (string)$from, 'lt' => (string)$to); |
@@ -28,7 +28,7 @@ |
||
| 28 | 28 | $germanWithURLs = array( |
| 29 | 29 | 'tokenizer' => 'uax_url_email', |
| 30 | 30 | //'filter' => array('english_possessive_stemmer', 'lowercase', 'english_stop', /*'english_keywords',*/ 'english_stemmer' ), |
| 31 | - 'filter' => array('no_single_chars', 'german_snowball', 'lowercase', 'german_stop' ), |
|
| 31 | + 'filter' => array('no_single_chars', 'german_snowball', 'lowercase', 'german_stop'), |
|
| 32 | 32 | 'type' => 'custom' |
| 33 | 33 | ); |
| 34 | 34 | |