/** * Generate the cache item for a specific Tag with the given Links * * @param $tag * @param CacheHandlerInterface $cacheHandler * @param SearchHandlerInterface $searchHandler * @internal param $links */ private function generate($tag, CacheHandlerInterface $cacheHandler, SearchHandlerInterface $searchHandler) { // Find items for the requested Tag $filters['must'] = ['tags' => $tag->name]; $filters['should'] = ['discovery_setting' => 'attributed']; $filters['should'] = ['discovery_setting' => 'anonymous']; $links = $searchHandler->filteredSearch($filters, null, 'created_at', 'desc', 10); $cacheHandler->set(CacheHandlerInterface::DISCOVER_TAG, $links, $tag->name); }
/** * Find items that relate to the tags passed in * * @param Request $request * @param SearchHandlerInterface $searchHandler * @return \Illuminate\View\View */ public function findItemsForTags(Request $request, SearchHandlerInterface $searchHandler) { $q = $request->input('q'); $filters['must'] = ['tags' => $q]; $items = $searchHandler->filteredSearch($filters, Auth::user(), 'created_at', 'desc'); $title = "Tag : " . $q; return view('all', ['items' => $items, 'title' => $title]); }