Problémy fulltextu – funkce modelu hledá jen v jednom sloupci
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- enigma
- Člen | 14
Zdravím Vás,
prosím o radu. V modelu mám níže uvedenou fci, ale tato mi vrací pouze data ze sloupce „content“. Tušíte někdo kde je problém?
Kód jsem zkoušel podle tohoto návodu:problemy-fulltextu-v-nette
public function search($search)
{
$where = "";
//$ft_min_word_len = mysql_result(mysql_query("SHOW VARIABLES LIKE 'ft_min_word_len'"), 0, 1);
$ft_min_word_len = 4;
preg_match_all("~[\\pL\\pN_]+('[\\pL\\pN_]+)*~u", stripslashes($search), $matches);
foreach ($matches[0] as $part) {
if (iconv_strlen($part, "utf-8") < $ft_min_word_len) {
$regexp = "REGEXP '[[:<:]]" . addslashes(strtoupper($part)) . "[[:>:]]'";
$where .= " OR (title $regexp OR content $regexp)";
}
}
return $this->database->table('articles')
->where("MATCH(title, content) AGAINST (? IN BOOLEAN MODE)$where", $search)
->order("5 * MATCH(title) AGAINST (?) + MATCH(content) AGAINST (?) DESC", $search, $search)
->limit(50);
}