diff --git a/wcfsetup/install/files/lib/system/search/SearchEngine.class.php b/wcfsetup/install/files/lib/system/search/SearchEngine.class.php index f3a64ef232a..5f3a52ac906 100644 --- a/wcfsetup/install/files/lib/system/search/SearchEngine.class.php +++ b/wcfsetup/install/files/lib/system/search/SearchEngine.class.php @@ -16,6 +16,12 @@ * @category Community Framework */ class SearchEngine extends SingletonFactory implements ISearchEngine { + /** + * limit for inner search limits + * @var integer + */ + const INNER_SEARCH_LIMIT = 2500; + /** * list of available object types * @var array diff --git a/wcfsetup/install/files/lib/system/search/mysql/MysqlSearchEngine.class.php b/wcfsetup/install/files/lib/system/search/mysql/MysqlSearchEngine.class.php index 007e6ccf7ce..9aeccc4932d 100644 --- a/wcfsetup/install/files/lib/system/search/mysql/MysqlSearchEngine.class.php +++ b/wcfsetup/install/files/lib/system/search/mysql/MysqlSearchEngine.class.php @@ -117,7 +117,7 @@ public function getInnerJoin($objectTypeName, $q, $subjectOnly = false, Prepared WHERE ".($fulltextCondition !== null ? $fulltextCondition : '')." ".(($searchIndexCondition !== null && $searchIndexCondition->__toString()) ? ($fulltextCondition !== null ? "AND " : '').$searchIndexCondition : '')." ".(!empty($orderBy) && $fulltextCondition === null ? 'ORDER BY '.$orderBy : '')." - LIMIT 1000"; + LIMIT ".($limit == 1000 ? SearchEngine::INNER_SEARCH_LIMIT : $limit); return array( 'fulltextCondition' => $fulltextCondition,