2009-12-15 17 views
5

Używam PHP, aby uzyskać dostęp do Solr i zastanawiam się jedno.Solr PHP client vs file_get_contents?

Dlaczego należy używać klienta Solr PHP, kiedy mogę używać:

$serializedResult = file_get_contents(
         'http://localhost:8983/solr/select?q=niklas&wt=phps'); 

aby uzyskać wynik w macierzy, a następnie wydrukować je? Naprawdę nie mam różnicy. Czy są jakieś bogatsze funkcje z klientem PHP?

Odpowiedz

4

myślę z powodu następujących powodów:

  • Elastyczność
  • Error Handling
  • Kwestie bezpieczeństwa
  • Rozszerzalność

Wszystkie kwestie są ból głowy z tych gotowych skryptów i ramy. Jeśli więc istnieje rozwiązanie dla pewnych rzeczy, poleciłbym, abyś to zrobił, zamiast robić wszystko od siebie.

Również dlatego, że te skrypty i ramy mają dobre wsparcie społeczności, są mniejsze błędy, problemy z bezpieczeństwem i inne.

+0

ale jaki byłby problem podczas korzystania z file_get_contents? wysyła i rozprawiam? działa na każdej przeglądarce itp., ale nie dostaję problemów bezpieczeństwa/elastyczności. – ajsie

+0

Aby powtórzyć komentarz Sarfraza, możesz zrobić file_get_contents. Ale nadal musisz wykonać parsowanie, a jeśli korzystasz z biblioteki klienta, otrzymasz 4 rzeczy, które określił! –

0

Domyślam się, że klient solr analizuje wyniki i zapewnia wygodny sposób przekazywania parametrów (budowanie adresu URL itp.).

0

Aby użyć, file_get_contents() ... twój php musi mieć włączone "allow_url_open". Jeśli hostujesz swoją stronę na niektórych hostach, nie zezwala ona na korzystanie z tej funkcji, ponieważ te ustawienia są WYŁĄCZONE.

0

W niektórych przypadkach może być sensowne wykonanie file_get_contents(). SolrClient nie ma niczego do zwijania pól (jest to łata niedostępna w bagażniku), więc muszę napisać własną klasę, która naśladuje SolrClient i SolrQuery, jeśli nie mogę tego zrobić z biblioteką PECL.

1

Biblioteka solr-php-client rzeczywiście ma adapter dla file_get_contents (@see Apache_Solr_HttpTransport_FileGetContents), a druga dla Curl. Biblioteka klienta solr-php jest rozbudowaną strukturą, która pozwala zrobić znacznie więcej niż opublikowanie adresu URL z parametrami, aby można było przeprowadzić wyszukiwanie. SPC zapewnia przewidywalność, rozszerzalność i bezpieczeństwo. Co więcej, klient Solr-php jest napisany do standardów Zend Framework, więc jest zgodny z każdym projektem ZF.

Jeśli mam wybór między wyborem dobrze utrzymanego, wspieranego przez społeczność projektu, a napisaniem własnego skryptu, który nie będzie lepszy, wybieram dobrze utrzymany, wspierany przez społeczność projekt. Jeśli masz potrzeby, które są poza tym projektem, nadal możesz napisać własny skrypt, ale znowu ten rodzaj biblioteki jest zbudowany, więc możesz bezboleśnie go rozszerzyć.

Powiązane problemy