ID - wiadomo
NAZWA - varchar, znajduje się tu nazwa, którą przeszukuję
KATEGORIA - varchar, tutaj znajdują się oddzielone średnikami numery kategorii (np. 16;654;3246;7465). Z pewnych względów musi być to varchar.
Konfiguracja sphinxa (najważniejsze wpisy):
Kod
source zrodlo
{
sql_query = SELECT `id`, `nazwa`,`kategoria`,`id-user` FROM tabela
sql_attr_uint = it-user
sql_query_info = SELECT * FROM `tabela` WHERE `id`=$id
}
{
sql_query = SELECT `id`, `nazwa`,`kategoria`,`id-user` FROM tabela
sql_attr_uint = it-user
sql_query_info = SELECT * FROM `tabela` WHERE `id`=$id
}
i teraz kod PHP:
$cl->Query('wyrazenie');
Działa jak trzeba..
Ale potrzebuję naraz wyszukiwać po nazwie i kategorii, czyli np. wyrażenie 'bmw' (w polu nazwa) i 645 lub 742 w polu kategoria..
Próbuję czegoś takego (dokumentacja):
// wersja 1 $cl->Query('@nazwa bmw @kategoria 645 742'); // wersja 2 $cl->AddQuery("@nazwa bmw"); $cl->AddQuery("@kategoria 645 742");
Obydwie wersje zwracają co prawda wszystkie wpisy z 'bmw', ale niezależnie od kategorii. Spróbowałem samą drugą linię z wersji 2 - wypisuje chyba wszystko jak leci, bez względu na kategorię...
Pytanie:
jak zrobić wyszukiwanie danej frazy, która musi znajdować się w jednej z podanych kategorii?