convert search words into ngram favored search words
public static createMatchWord ( $word ) |
/** * get tags data by string for FullTextSearch. * * @param string $string * @param int $limit * @param int $offset * @return array */ public function match($str, $limit = 10, $offset = 0) { $query = <<<__SQL__ SELECT ta.name FROM tags_fts fts INNER JOIN tags ta ON ta.id = fts.tag_id WHERE fts.words MATCH :match ORDER BY ta.updated_at DESC LIMIT {$limit} OFFSET {$offset} __SQL__; return \DB::select(\DB::raw($query), array('match' => FtsUtils::createMatchWord($str))); }
/** * matchCount * * @param string $str * @return array */ public function matchCount($str) { $query = <<<__SQL__ SELECT COUNT(*) as count FROM items_fts fts INNER JOIN items it ON it.id = fts.item_id AND it.published = 2 WHERE fts.words MATCH :match __SQL__; return \DB::select(\DB::raw($query), array('match' => FtsUtils::createMatchWord($str))); }