/** * get tag ids by tag names. * * @param array $tag_names * @return array */ public function getTagIdsByTagNames($tag_names) { $tag_ids = array(); foreach ($tag_names as $tag_name) { $tag_name = trim(mb_convert_kana($tag_name, ""s"")); $tag_name = str_replace(" ", "", $tag_name); if (empty($tag_name)) { continue; } $tag_name = mb_strtolower($tag_name); $tag = $this->tagRepo->firstOrCreateByName($tag_name); $this->searchService->tagFirstOrCreateByIdAndWords($tag['id'], FtsUtils::toNgram($tag_name)); $tag_ids[] = (string) $tag['id']; } return $tag_ids; }
/** * Convert String into N-Gramed string. * * @param string $title * @param text $body * @return string */ public function toNgram($title, $body) { return FtsUtils::toNgram($title . "\n\n" . $body); }