Я использую PHP для доступа к Solr и I wonder одна вещь.
Почему должен я использовать клиент Solr PHP, когда я могу использовать:
$serializedResult = file_get_contents(
'http://localhost:8983/solr/select?q=niklas&wt=phps');
получить результат в массивах и затем распечатать их? Я действительно не получаю различие. Есть ли какие-либо более богатые функции с клиентом PHP?
Я думаю по следующим причинам:
Все проблемы являются головной болью этих готовых скриптов и рамки. Так что, если есть решение для определенной вещи, я бы порекомендовал вам пойти с ним, а не делать все самостоятельно.
Кроме того, поскольку эти сценарии и фреймворки имеют хорошую поддержку сообщества, есть меньше ошибок, проблемы безопасности и многое другое.
Для использования file_get_contents () ... на вашем php должен быть включен параметр "allow_url_open". Если вы размещаете свой веб-сайт на определенных хостах, они не позволяют использовать эту функцию, потому что они оставляют этот параметр ВЫКЛЮЧЕННЫМ.
Я предполагаю, что клиент solr просто анализирует результаты и предоставляет вам удобный способ передачи параметров (создание URL для вас и т. Д.).
В некоторых случаях, однако, может иметь смысл сделать file_get_contents(). SolrClient не имеет ничего для сворачивания полей (это патч, недоступный в стволе), поэтому мне придется либо написать свой собственный класс, имитирующий SolrClient и SolrQuery, если я не могу сделать это с помощью библиотеки PECL.