#solr #drupal-7
#solr #drupal-7
Вопрос:
Я действительно хочу распечатать полный запрос для пользовательского solr.
Я использую этот код для получения результата из solr :
Пример:
$solr = apachesolr_get_solr('name_of_solr');
if($solr->ping()) {
$params = array(
'q' => '*',
'start' => 0,
'rows' => 20,
'fl' => 'entity_id',
);
$query = new SolrBaseQuery('apachesolr', $solr, $params, '');
$query->addParam('sort', 'ss_published_date desc');
$query->addFilter('im_field_section', $sc_id);
}
$response = $query->search();
Я пытаюсь получить полный запрос или URL-адрес с помощью
dpm($query);//Getting object..
Ожидаемый результат:
http://11.11.111.111:8983/solr/tod/select?fl=entity_idamp;fq=im_field_section: 174amp;indent=onamp;q=*:*amp;rows=20amp;sort=ss_published_date descamp;start=0amp;wt=json
Ответ №1:
Мы можем получить полный URL-адрес запроса, прочитав ключ массива [запрос] из объекта ответа :
drupal_set_message(print_r($response, TRUE));
# output :
stdClass Object ( [request] => GET /solr/tod/select?start=0amp;rows=1amp;fq=sm_outlet_relations:12702amp;fq=im_field_section:44amp;q=*amp;fl=entity_idamp;sort=ss_published_date descamp;wt=jsonamp;json.nl=map HTTP/1.0 User-Agent: Drupal ( http://drupal.org/) Host: my_host [data] => {"response":{"numFound":1,"start":0,"docs":[{"entity_id":582143}]}} [protocol] => HTTP/1.1 [status_message] => OK [headers] => Array ( [content-type] => text/plain;charset=utf-8 [content-length] => 68 ) [code] => 200 [response] => stdClass Object ( [numFound] => 1 [start] => 0 [docs] => Array ( [0] => stdClass Object ( [entity_id] => 582143 ) ) ) )
Или просто :
dpm($response->request);
# output :
GET /solr/tod/select?start=0amp;rows=1amp;fq=sm_outlet_relations:12702amp;fq=im_field_section:44amp;q=*amp;fl=entity_idamp;sort=ss_published_date descamp;wt=jsonamp;json.nl=map HTTP/1.0 User-Agent: Drupal ( http://drupal.org/) Host: my_host
Ответ №2:
Если вы добавите echoParams в свой запрос solr, вы получите более подробную информацию о своем запросе, а затем сможете объединить их для создания исходной строки запроса.