$res = $cl->Query("SELECT * FROM goods WHERE MATCH('@pp кирпич')");
Куда необходимо писать запросы?
Спустя 12 минут, 4 секунды (15.06.2011 - 10:15) T1grOK написал(а):
MATCH используется с полнотекстовым индексом:
1) Движок БД должен поддерживать полнотекстовый индекс;
2) Должны быть поля для которых будет использоваться полнотекстовый индекс;
3) MATCH задает поля которые являются "полнотекстовыми",а AGAINST задает строку поиска;
1) Движок БД должен поддерживать полнотекстовый индекс;
2) Должны быть поля для которых будет использоваться полнотекстовый индекс;
3) MATCH задает поля которые являются "полнотекстовыми",а AGAINST задает строку поиска;
Спустя 3 минуты, 33 секунды (15.06.2011 - 10:18) tazododu написал(а):
ну так это ж Sphinx, в документации написано, что можно писать запросы в таком виде. только не слова как потом их выполнять через API.
Спустя 39 секунд (15.06.2011 - 10:19) tazododu написал(а):
goods это индекс у меня
Спустя 22 минуты, 27 секунд (15.06.2011 - 10:41) T1grOK написал(а):
Ну да Sphinx, документацию посмотрите http://sphinxsearch.com/docs/current.html#api-func-query данный метод принимает поисковую строку и индекс в котором нужно искать.
Query ( $query, $index="*", $comment="" ) - $query - строка поиска
Query ( $query, $index="*", $comment="" ) - $query - строка поиска
Спустя 4 минуты, 32 секунды (15.06.2011 - 10:46) tazododu написал(а):
так в том-то и дело, там же написано, что можно юзать QL, но ни слова куда писать эти запросы нужно. вы не знаете, куда же мне и как следует написать этот запрос ("SELECT * FROM goods WHERE MATCH('@pp кирпич')") чтобы получить результат? на самом деле у меня будет сложный запрос, это я написал просто для примера.
Спустя 12 минут, 39 секунд (15.06.2011 - 10:58) tazododu написал(а):
решение найдено!
$sphinx = mysql_connect("127.0.0.1:9306", "", "");
$res = mysql_query("SELECT * FROM index WHERE MATCH('test')", $sphinx);
Спустя 6 минут, 40 секунд (15.06.2011 - 11:05) T1grOK написал(а):
Это не решение - это импровизация. Запросы в Сфинске формируется на этапе конфигурирования.
Спустя 10 минут, 20 секунд (15.06.2011 - 11:15) tazododu написал(а):
да, вы правы. мне это вариант тоже не подходит.
вообще вся моя задача сводится к тому, что нужно поискать в начале в названиях и
отсортировать, а потом в описаниях и тоже отсортировать. в простом mysql я делал это
union-ом. в сфинксе пробывал делать
$cl->AddQuery('@pp "кирпич"', 'goods');
$cl->AddQuery('@(pp_short,pp_full) "кирпич"', 'goods');
$res = $cl->RunQueries();
но получал 2 отдельных массива с пересекающимися элементами.
не знаете, имеется ли какой-либо способ объединять 2 полученных результата?
или имеется другой способ решения задачи?...
вообще вся моя задача сводится к тому, что нужно поискать в начале в названиях и
отсортировать, а потом в описаниях и тоже отсортировать. в простом mysql я делал это
union-ом. в сфинксе пробывал делать
$cl->AddQuery('@pp "кирпич"', 'goods');
$cl->AddQuery('@(pp_short,pp_full) "кирпич"', 'goods');
$res = $cl->RunQueries();
но получал 2 отдельных массива с пересекающимися элементами.
не знаете, имеется ли какой-либо способ объединять 2 полученных результата?
или имеется другой способ решения задачи?...