From: Dan Brown Date: Sun, 26 Mar 2017 18:34:53 +0000 (+0100) Subject: Improve efficiency of single entity search indexing X-Git-Tag: v0.16.0~1^2~12^2~11 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/0651eae7ecdeb3b0781ed1231d601d936603e07d Improve efficiency of single entity search indexing --- diff --git a/app/Services/SearchService.php b/app/Services/SearchService.php index ae8dd008a..ef11de728 100644 --- a/app/Services/SearchService.php +++ b/app/Services/SearchService.php @@ -100,7 +100,11 @@ class SearchService $nameTerms = $this->generateTermArrayFromText($entity->name, 5); $bodyTerms = $this->generateTermArrayFromText($entity->getText(), 1); $terms = array_merge($nameTerms, $bodyTerms); - $entity->searchTerms()->createMany($terms); + foreach ($terms as $index => $term) { + $terms[$index]['entity_type'] = $entity->getMorphClass(); + $terms[$index]['entity_id'] = $entity->id; + } + $this->searchTerm->newQuery()->insert($terms); } /** @@ -121,7 +125,7 @@ class SearchService $chunkedTerms = array_chunk($terms, 500); foreach ($chunkedTerms as $termChunk) { - $this->searchTerm->insert($termChunk); + $this->searchTerm->newQuery()->insert($termChunk); } }