Come sottolineato nei commenti sull'overflow dello stack, la query del browser è diversa dalla query basata sul client php:per rimuoverla dall'equazione è necessario verificare con questa corretta. Per ottenere gli stessi risultati della query basata sul browser, il tuo codice php dovrebbe essere simile a questo:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
Invece, immagino che assomigli di più a:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Quello che mi aspetto che tu veda è che i risultati del client php saranno gli stessi dei risultati basati sul browser, e immagino che lo stesso accadrebbe se lo facessi nel modo opposto:prendi i tuoi parametri correnti dal client php e li applica correttamente al query basata su browser.
Ora sul tuo problema, non vedi i documenti ordinati correttamente.
Vorrei provare questa query, che è l'equivalente del codice basato sul client php:
http://localhost:8983/solr/select/?&q=%2A%3A%2A&fq=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
rispetto a questa query, che sposta la query del filtro nella query principale:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
e vedere se c'è una differenza. In tal caso, potrebbe trattarsi di un bug nel modo in cui i risultati delle query filtrate nella cache vengono utilizzati e ordinati per solr, il che non sarebbe un problema con il client, ma con il servizio solr stesso.
Spero che questo ti avvicini a una risposta.