Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem ze Sphinxem
husky83
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 8.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Baza:

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
}



i teraz kod PHP:
  1. $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):
  1. // wersja 1
  2. $cl->Query('@nazwa bmw @kategoria 645 742');
  3.  
  4. // wersja 2
  5. $cl->AddQuery("@nazwa bmw");
  6. $cl->AddQuery("@kategoria 645 742");
  7.  



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?


--------------------
Husky 83 - Galeria zdjęć psów zaprzęgowych
Go to the top of the page
+Quote Post
longinus_torwald...
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 6
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


czesc,

nie jestem jakims guru i na sphinxie tez sie nie znam ale moze pomoze Ci fakt, ze poprawnie powinno się w takim przypadku użyć tabeli posredniej products_categories a nastepnie skorzystac z joina. Całość to nic innego jak relacja wiele do wielu.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:14