--- a/server/src/app/Repositories/RdfDocumentRepository.php Thu Oct 20 11:24:45 2016 +0200
+++ b/server/src/app/Repositories/RdfDocumentRepository.php Thu Oct 20 15:09:31 2016 +0200
@@ -152,31 +152,56 @@
if(is_string($languages)) {
$languages = [ $languages, ];
}
- $qFilterParts[] = CorpusFilterManager::getLanguagesFilterPart($languages);
+ $languages = array_slice($languages, config('corpusparole.filter_max_languages_nb', 200));
+ $fp = CorpusFilterManager::getLanguagesFilterPart($languages);
+ if(!empty($fp)) {
+ $qFilterParts[] = $fp;
+ }
}
if(array_key_exists('location', $filters) && !empty($filters['location'])) {
$location = $filters['location'];
if(is_array($location)) {
$location = $location[0]; // we know it is not empty
}
- $qFilterParts[] = CorpusFilterManager::getLocationFilterPart($location);
+ $fp = CorpusFilterManager::getLocationFilterPart($location);
+ if(!empty($fp)) {
+ $qFilterParts[] = $fp;
+ }
+
}
if(array_key_exists('themes', $filters) && !empty($filters['themes'])) {
$themes = $filters['themes'];
if(is_string($themes)) {
$themes = [$themes,]; // we know it is not empty
}
- $qFilterParts[] = CorpusFilterManager::getThemeFilterPart($themes);
+ $fp = CorpusFilterManager::getThemeFilterPart($themes);
+ if(!empty($fp)) {
+ $qFilterParts[] = $fp;
+ }
+
}
if(array_key_exists('discourses', $filters) && !empty($filters['discourses'])) {
$discourses = $filters['discourses'];
if(is_string($discourses)) {
$discourses = [$discourses,]; // we know it is not empty
}
- $qFilterParts[] = CorpusFilterManager::getDiscourseFilterPart($discourses);
+ $fp = CorpusFilterManager::getDiscourseFilterPart($discourses);
+ if(!empty($fp)) {
+ $qFilterParts[] = $fp;
+ }
+
+ }
+ if(array_key_exists('dates', $filters) && !empty($filters['dates'])) {
+ $dates = $filters['dates'];
+ if(is_string($dates)) {
+ $dates = [$dates,]; // we know it is not empty
+ }
+ $fp = CorpusFilterManager::getDateFilterPart($dates);
+ if(!empty($fp)) {
+ $qFilterParts[] = $fp;
+ }
}
- Log::debug("queries : ".print_r($qFilterParts, true));
$query = [
'index' => config('corpusparole.elasticsearch_index'),