Is your attached version of SolrPhpClient the same as the one in https://issues.apache.org/jira/browse/SOLR-341 ?
Your changes to the apachesolr module should be in diff format. Please see http://drupal.org/patch/create ... This way we can track what exact version is being changed and where =)
No, the attached SolrPHPClient is slightly modified to support different search request handler.
Because I have implemented a spellchecker too, I'm not able to export this modification as "standalone". I have attached a patch in the diff form including the spellchecker modifications. Its for the latest 6.0 version.
| Attachment | Size |
|---|---|
| patch_apachesolr_spellchecker_highlight.txt | 894.67 KB |

http://drupal.org/node/303937
The author of SolrPHPClient has released a new SolrPHPClient using json_decode instead of xml results. This is a performance gain.
https://issues.apache.org/jira/browse/SOLR-341
<?php
try {
$params = apachesolr_search_get_params();
//Enable highlighting
if(variable_get('apachesolr_solrhighlighting', false)) {
//Add new parameter to the search request
$params['hl'] = 'true';
$params['hl.fragsize']= variable_get('apachesolr_textsnippetlength', 100);
$params['hl.simple.pre'] = '<strong>';
$params['hl.simple.post'] = '</strong>';
}
$response = $solr->search($query->get_query(), $params['start'], $params['rows'], $params, $search_servlet);?>
<?php
apachesolr_has_searched(TRUE);
//New since json_decode
$highlight = $response->highlighting;
$response = $response->response;?>
<?php
$extra['score'] = $doc->score;
if(variable_get('apachesolr_solrhighlighting', false)){
$snippet = each($highlight);
$snippet = $snippet['value']->text[0];
}
else
$snippet = search_excerpt($keys, $doc->body);
if (trim($snippet) == '...') {
$snippet = '';
}?>
<?php
$form['apachesolr_path'] = array(
'#type' => 'textfield',
'#title' => t('Solr path'),
'#default_value' => variable_get('apachesolr_path', '/solr'),
'#description' => t('Path that identifies the Solr request handler to be used. Leave this as /solr for now.'),
);
$form['apachesolr_solrhighlighting'] = array(
'#type' => 'checkbox',
'#title' => t('Enable highlighting by solr'),
'#default_value' => variable_get('apachesolr_solrhighlighting', false),
'#description' => t('Highlighting and text excerpt is done using solr.'),
);
$options = array();
foreach (array(100, 150, 200, 250, 300, 400, 500, 600) as $option) {
$options[$option] = $option;
}
$form['apachesolr_textsnippetlength'] = array(
'#type' => 'select',
'#title' => t('Length of text snippet in the result'),
'#default_value' => variable_get('apachesolr_textsnippetlength', 100),
'#options' => $options,
'#description' => t('The number of characters the text snippet in the search result will be.'),
);?>