Jak wskazano w komentarzach dotyczących przepełnienia stosu, zapytanie przeglądarki różni się od zapytania opartego na kliencie php - aby usunąć to z równania, należy przetestować z tym poprawionym. Aby uzyskać takie same wyniki jak zapytanie oparte na przeglądarce, Twój kod php powinien wyglądać mniej więcej tak:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
Zamiast tego wyobrażam sobie, że wygląda to bardziej tak:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Spodziewam się, że wyniki klienta php będą takie same, jak wyniki w przeglądarce i wyobrażam sobie, że to samo stanie się, gdy zrobisz to w odwrotny sposób - pobierz swoje bieżące parametry z klienta php i zastosuj je poprawnie do zapytanie oparte na przeglądarce.
Teraz, jeśli chodzi o Twój problem, nie widzisz właściwie posortowanych dokumentów.
Spróbowałbym tego zapytania, które jest odpowiednikiem kodu opartego na kliencie 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
w porównaniu z tym zapytaniem, które przenosi zapytanie filtrujące do głównego zapytania:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
i zobacz, czy jest różnica. Jeśli tak, to może to być błąd w sposobie wykorzystania i sortowania wyników z buforowanych zapytań filtrowanych po solr - co nie byłoby problemem z klientem, ale z samą usługą solr.
Mam nadzieję, że to przybliży Cię do odpowiedzi.