DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Sphinx PHP API - problem (http://www.devprotalk.com/showthread.php?t=7588)

mb_sa 11. 06. 2009. 14:26

Sphinx PHP API - problem
 
Zdravo!

Instalirao sam Sphinx 0.9.8.1 na loklanu mašinu sa WIN XP SP2, PHP Version 5.2.3, MySQL (Server version: 5.0.45-community-nt-log, MySQL client version: 5.0.37).

Instalacija je uspješno prošla.

Testni primjer i konfiguracija Sphinxa uradio sam prema uputama sa http://www.ibm.com/developerworks/li...-sphinxsearch/

Takodjer i ovde sve super fercera do koraka kada preko PHP API treba pozvati Sphinx (primjer: http://www.ibm.com/developerworks/li...search/#list12).

Kada se pokrene primjer, skripta se poprlicno dugo izvrsava (izbaci blank stranicu bez errora) i kako sam mogao na osnovu Xdebug/WinCacheGrid zakljcuti skripta se i ne izvrsi cijela.

Stavio sam (iz ocaja :)) umjesto 3312 mysql port 3306 i skripta je pukla zbog memory limita. Nekako imam osjecaj da je problem do otvaranja porta, ali ne znam tacno sta bi mogao biti problem za to.

Pretrazio forum Sphinxa, naletih da neki imaju problema sa ovom verzijom mysqla koja je kod mene. Skino sam MySQL 5.0.51b i sve firsko instaliro (PHP 5.2.6, PHP 5.2.6, mysql) i opet isti prolbem.

Znaci indexiranje i pretraga preko cmd sa 'search --config /usr/local/etc/sphinx.conf ENG' radi bez problema, tako da mislim da je konfiguracija sphinxa OK (jedino sto nisam naveo putanju do sql_sock, a pise da je opciono).

Da li je neko od vas imao slicinih problema?

Unaprijed hvala,
mb

mileusna 11. 06. 2009. 14:48

Pa jesi li pokrenuo searchd.exe? On je taj koji prihvata Sphinx konekcije koje API šalje i mora da bude aktivan dok testiraš.

mb_sa 11. 06. 2009. 15:01

Citat:

Originalno napisao mileusna (Napišite 70534)
Pa jesi li pokrenuo searchd.exe? On je taj koji prihvata Sphinx konekcije koje API šalje i mora da bude aktivan dok testiraš.

Sphinx sam instaliro kao Windows Service.

Da, jesam. pokrenuo sam sve iz bin foldera :), ali ne znam da li bi trebao da se searchd.exe pojavi u Processes listi, jer ga kod mene nema?

Pozdrav.

mileusna 11. 06. 2009. 15:09

Pa ne znam, ja ga pokrenem u command promptu i onda je aktivan, piše accepting connections i čeka i tada ga ima i u process listi. Nisam eksperimentisao sa instalacijom kao Service.

Edit: Evo baš sad gledam, kada ga instaliram kao Service, servis ne može da se pokrene, izbacuje neku grešku. Verovatno sam zato i odustao od Service varijante svojevremeno. :) Pogledaj da li ti je uopšte servis pokrenut u Control Panel > Services.

ivanhoe 11. 06. 2009. 15:19

otvori dos prozor i pokusaj da uradis telnet localhost <port_koji_si_stavio> da vidis da li javlja na tom portu...

a mozes i sa netstat -an da vidis na kojim portovima sta slusa

mb_sa 11. 06. 2009. 16:01

Sphinx je bio instaliran kao serivis, ali nije bio pokrenut (pokrenuo sam ga preko Services u CP i tada je sve proradilo), iako pise da je start up automatic.

Hvala na pomoci i ucescu u temi.

Pozdrav.

mb_sa 11. 06. 2009. 18:47

Evo 'igram' se malo i tesitram sa Sphinxom i Sphinx PHP API-jom.

Jesam li dobro zakljucio da Sphinx PHP API ne moze 'dirketno' da fetchuje rezultate, vec se pronadjeni document id-jevi koriste u upitu tipa "SELECT ... ... WHERE id IN ..." koji ce izvrisi kroz mysql_query()?

Što znaci da Sphinx pronadje redove u bazi koje zadovljaju uslove pretrage i vrati njihove IDjeve sa kojim dalje radimo sta želimo!?

Ako sam dobro shvatio, moram priznati (ne znam zasto) da sam malo iznenadjen, jer sam čitavo vrijeme mislio da se mogu direktno fetchovati rezultati :)

Hvala i pozdrav.

MorenoArdohain 11. 06. 2009. 19:27

@mb_sa, koliko znam, tako je. Sto je to problem?

mb_sa 12. 06. 2009. 16:08

Citat:

Originalno napisao MorenoArdohain (Napišite 70553)
@mb_sa, koliko znam, tako je. Sto je to problem?

Pa recimo ako Sphinx vrati 300 rezultata, 300 ID-ejva, to se smejsta u.... WHERE IN (...) , kada se uradi echo tog SQL-a, reko da ne bude upit za teme 'Najgori SQL na svijetu' :D

Šalim se, nije prolbem, nego sam ranije jedino imao iskustva sa MySQL full-text searchom, gdje standradno pises upit, mozes da dodas kolone za ispis koje nisu indexirae (full-txt), mozes spojiti sa tamo nekom tabelom, filtrirati (WHERE ...) sa nekim poljem koje isto nije indexirano ... pa sam slicno i ocekivao kod Sphinxa.

Ali Sphinx je mnogooo brzi, relevantniji i detaljniji u pretrazi i ima jako finih mogunosti.

MorenoArdohain 12. 06. 2009. 16:13

Ukoliko to koristis za pretragu na svom sajtu, upotrebi Sphinx da ti vrati samo onoliko koliko ti treba (ako ti treba 10 rezultata po strani, nek ti i Sphinx vrati samo 10 rezultata, tj. 10 ID-eva). Zatim mozes uzeti jos 10, i tako dalje..


Vreme je GMT +2. Trenutno vreme je 21:35.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.