Клиент Solr PHP по сравнению с file_get_contents?

Я использую PHP для доступа к Solr и I wonder одна вещь.

Почему должен я использовать клиент Solr PHP, когда я могу использовать:

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

получить результат в массивах и затем распечатать их? Я действительно не получаю различие. Есть ли какие-либо более богатые функции с клиентом PHP?

5
задан Ewan Todd 15 December 2009 в 14:00
поделиться

4 ответа

Я думаю по следующим причинам:

  • Гибкость
  • Обработка ошибок
  • Проблемы безопасности
  • Расширяемость

Все проблемы являются головной болью этих готовых скриптов и рамки. Так что, если есть решение для определенной вещи, я бы порекомендовал вам пойти с ним, а не делать все самостоятельно.

Кроме того, поскольку эти сценарии и фреймворки имеют хорошую поддержку сообщества, есть меньше ошибок, проблемы безопасности и многое другое.

4
ответ дан 14 December 2019 в 19:15
поделиться

Для использования file_get_contents () ... на вашем php должен быть включен параметр "allow_url_open". Если вы размещаете свой веб-сайт на определенных хостах, они не позволяют использовать эту функцию, потому что они оставляют этот параметр ВЫКЛЮЧЕННЫМ.

0
ответ дан 14 December 2019 в 19:15
поделиться

Я предполагаю, что клиент solr просто анализирует результаты и предоставляет вам удобный способ передачи параметров (создание URL для вас и т. Д.).

0
ответ дан 14 December 2019 в 19:15
поделиться

В некоторых случаях, однако, может иметь смысл сделать file_get_contents(). SolrClient не имеет ничего для сворачивания полей (это патч, недоступный в стволе), поэтому мне придется либо написать свой собственный класс, имитирующий SolrClient и SolrQuery, если я не могу сделать это с помощью библиотеки PECL.

0
ответ дан 14 December 2019 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: