X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ef1b98019a0c3f123b0add8428292807eac3fe05..refs/pull/3032/head:/app/Entities/Tools/SearchIndex.php diff --git a/app/Entities/Tools/SearchIndex.php b/app/Entities/Tools/SearchIndex.php index dd68a92fa..cc0b32d6a 100644 --- a/app/Entities/Tools/SearchIndex.php +++ b/app/Entities/Tools/SearchIndex.php @@ -1,8 +1,11 @@ -searchTerm = $searchTerm; $this->entityProvider = $entityProvider; } - /** * Index the given entity. */ @@ -31,7 +32,7 @@ class SearchIndex { $this->deleteEntityTerms($entity); $nameTerms = $this->generateTermArrayFromText($entity->name, 5 * $entity->searchFactor); - $bodyTerms = $this->generateTermArrayFromText($entity->getText() ?? '', 1 * $entity->searchFactor); + $bodyTerms = $this->generateTermArrayFromText($entity->getText(), 1 * $entity->searchFactor); $terms = array_merge($nameTerms, $bodyTerms); foreach ($terms as $index => $term) { $terms[$index]['entity_type'] = $entity->getMorphClass(); @@ -41,7 +42,8 @@ class SearchIndex } /** - * Index multiple Entities at once + * Index multiple Entities at once. + * * @param Entity[] $entities */ protected function indexEntities(array $entities) @@ -75,8 +77,8 @@ class SearchIndex $entityModel->newQuery() ->withTrashed() ->select($selectFields) - ->chunk(1000, function ($entities) { - $this->indexEntities($entities); + ->chunk(1000, function (Collection $entities) { + $this->indexEntities($entities->all()); }); } } @@ -109,8 +111,8 @@ class SearchIndex $terms = []; foreach ($tokenMap as $token => $count) { $terms[] = [ - 'term' => $token, - 'score' => $count * $scoreAdjustment + 'term' => $token, + 'score' => $count * $scoreAdjustment, ]; }