@@ -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 |
@@ -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 |