Как использовать MATCH() AGAINST() в предложениях WHERE и ORDER BY с построителем запросов CodeIgniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как использовать MATCH() AGAINST() в предложениях WHERE и ORDER BY с построителем запросов CodeIgniter

Сообщение Anonymous »

Код: Выделить всё

public function _search($type, $qes, $sort = null, $start = 0)
{
$this->db
->select('id,name,frontCover,type,category,user,author,MRP,sellingPrice,isNew,isRaw,binding,publisherName,publicationYear')
->from('books');
$searchKey = "";
if (is_array($qes) && count($qes) > 0) {
$searchKey = "+" . implode(" +", $qes);
}

//full text search
$searchKey = "MATCH name AGAINST ('" . $searchKey . "')";
$this->db->where("(" . $searchKey . ")", NULL, FALSE);
$this->db->where('status', 1)->limit(30, $start);
$query = $this->db->get();
return $query && $query->num_rows() ? $query->result() : [];
}
Я использую полнотекстовый поиск для поиска совпадающих ключевых слов, но он не дает желаемого результата. Мне нужно, чтобы сначала была наиболее подходящая строка, а затем другие, но это дает случайный результат. Как мне сначала заказать лучшие матчи?

Подробнее здесь: https://stackoverflow.com/questions/510 ... odeigniter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»