Задать вопрос
v3shin
@v3shin
Веб-шаман

Как искать в sphinx, используя and и or?

Доброго времени суток.
Есть код с примерно такой логикой:
$condition = '';
$order = 'id desc';
$limit = '0,30';

if($params['id'] == 0){
	$condition = '
		(user_id = :user_id and !user_deleted)
		or (from_id = :user_id and !from_deleted)
	';
} else {
	$condition = '
		(user_id = :user_id and from_id = :from_id and !user_deleted)
		or (user_id = :from_id and from_id = :user_id and !from_deleted)
	';
}

if(isset($params['lastId']) && $params['lastId']){
	$condition = '('.$condition.') and id > :lastId';
	if(!isset($params['firstId']) || !$params['firstId']){
		$order = 'id asc';
	}
}
if(isset($params['firstId']) && $params['firstId']){
	$condition = '('.$condition.') and id < :firstId';
}
if(isset($params['text']) && $params['text']){
	$condition = '('.$condition.') and text like :text';
	/* :text = '%'.$params['text'].'%' */
	$limit = -1;
}

Поиск через mysql работает, а как переписать это через sphinx? И еще лучше, если покажете, как это делается на yii1 с использованием DGSphinxSearch extension.
Заранее спасибо.
  • Вопрос задан
  • 331 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Какая то у вас жесть, используйте sphinxql
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
Что значит переписать через sphinx и зачем это нужно?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы