Zoals aangegeven in de opmerkingen over de stapeloverloop, is uw browserquery anders dan uw op php-client gebaseerde query - om die uit de vergelijking te verwijderen, moet u testen met deze gecorrigeerd. Om dezelfde resultaten te krijgen als de browsergebaseerde zoekopdracht, had uw php-code er ongeveer zo uit moeten zien:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
In plaats daarvan stel ik me voor dat het er meer uitziet als:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Wat ik verwacht dat je ziet, is dat de resultaten van de php-client hetzelfde zullen zijn als de browsergebaseerde resultaten, en ik kan me voorstellen dat hetzelfde zou gebeuren als je het op de tegenovergestelde manier zou doen - neem je huidige parameters van de php-client en pas ze correct toe op de browsergebaseerde zoekopdracht.
Nu uw probleem, u ziet de documenten niet goed gesorteerd.
Ik zou deze query proberen, die het equivalent is van de op php-client gebaseerde code:
http://localhost:8983/solr/select/?&q=%2A%3A%2A&fq=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
versus deze query, die de filterquery naar de hoofdquery verplaatst:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
en kijk of er een verschil is. Als dat zo is, kan het een fout zijn in de manier waarop resultaten van in de cache gefilterde zoekopdrachten worden gebruikt en gesorteerd op solr - wat geen probleem zou zijn met de client, maar met de solr-service zelf.
Ik hoop dat dit je dichter bij een antwoord brengt.