152 if(is_string($languages)) { |
152 if(is_string($languages)) { |
153 $languages = [ $languages, ]; |
153 $languages = [ $languages, ]; |
154 } |
154 } |
155 $qFilterParts[] = CorpusFilterManager::getLanguagesFilterPart($languages); |
155 $qFilterParts[] = CorpusFilterManager::getLanguagesFilterPart($languages); |
156 } |
156 } |
|
157 if(array_key_exists('location', $filters) && !empty($filters['location'])) { |
|
158 $location = $filters['location']; |
|
159 if(is_array($location)) { |
|
160 $location = $location[0]; // we know it is not empty |
|
161 } |
|
162 $qFilterParts[] = CorpusFilterManager::getLocationFilterPart($location); |
|
163 } |
|
164 if(array_key_exists('themes', $filters) && !empty($filters['themes'])) { |
|
165 $themes = $filters['themes']; |
|
166 if(is_string($themes)) { |
|
167 $themes = [$themes,]; // we know it is not empty |
|
168 } |
|
169 $qFilterParts[] = CorpusFilterManager::getThemeFilterPart($themes); |
|
170 } |
|
171 if(array_key_exists('discourses', $filters) && !empty($filters['discourses'])) { |
|
172 $discourses = $filters['discourses']; |
|
173 if(is_string($discourses)) { |
|
174 $discourses = [$discourses,]; // we know it is not empty |
|
175 } |
|
176 $qFilterParts[] = CorpusFilterManager::getDiscourseFilterPart($discourses); |
|
177 } |
|
178 |
|
179 Log::debug("queries : ".print_r($qFilterParts, true)); |
157 |
180 |
158 $query = [ |
181 $query = [ |
159 'index' => config('corpusparole.elasticsearch_index'), |
182 'index' => config('corpusparole.elasticsearch_index'), |
160 'body' => [ |
183 'body' => [ |
161 "size" => empty($limit)?0:$limit, |
184 "size" => empty($limit)?0:$limit, |