File_get_contents vs Solr PHP istemci?

5 Cevap php

Ben SOLR erişmek için PHP kullanıyorum ve ben bir şeyi merak ediyorum.

Ben kullanabilirsiniz zaman neden Solr PHP istemcisi kullanmak gerekir:

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

dizilerde sonuç almak ve sonra onları yazdırmak için? Gerçekten fark alamadım. PHP müşteri ile herhangi bir zengin özellikler var mı?

5 Cevap

Çünkü aşağıdaki nedenlerden düşünüyorum:

  • Esneklik
  • Hata İşleme
  • Güvenlik Sorunları
  • Genişleyebilirlik

Tüm konular bu önceden yapılmış scriptler ve çerçeveleri baş ağrısı vardır. Belirli bir şey için bir çözüm olup olmadığını Yani, ben yerine kendi her şeyi yapıyor daha o ile gitmenizi tavsiye ederim.

Also since these scripts and frameworks have good community support, there are lesser bugs, security issues and more.

Solr-php-istemci kütüphanesi aslında bir file_get_contents için adaptör (@ Apache_Solr_HttpTransport_FileGetContents bakınız), artı Curl için başka sahiptir. Solr-php-istemci kütüphanesi bir arama tamamlamak böylece parametreleri w / URL göndermek çok daha fazlasını yapmak için izin veren bir ayrıntılı bir çerçevedir. SPC öngörülebilirlik, genişletilebilirlik ve güvenlik sağlar. Ayrıca, Solr-php-client Zend Framework standartlarda yazılır, bu nedenle herhangi bir ZF projesini övgü almaktadır.

Ben bakımlı, toplum destekli proje seçme ve üstün olmayacak kendi senaryomu yazmaya arasında bir seçim varsa, ben bakımlı, toplum destekli projeyi seçin. Eğer bu proje dışında ihtiyaçları varsa, yine kendi komut dosyası yazabilirsiniz, ama yine, kütüphane bu tür yüzden acısız uzatabilirsiniz inşa.

Ben Solr müşteri sadece sonuçlarını ayrıştırır ve size (sizin vb için bir URL oluşturarak) parametreleri geçirmek için uygun bir yol sağlar sanırım.

File_get_contents (), kullanmak için ... php "allow_url_open" etkinleştirilmiş olması gerekir. Eğer bazı ana web sitenizi barındırmak sonra onlar çünkü onlar bu ayarı KAPALI tutun Bu işlevi kullanmak için izin vermez.

Bazı durumlarda, ancak) (file_get_contents yapmak mantıklı olabilir. SolrClient alan daraltma için bir şey (o bagajda mevcut değil bir yama) yok yani ben PECL kütüphane ile bunu yapamazsınız eğer SolrClient ve SolrQuery taklit kendi sınıf yazmak ya var.