Jak bylo zdůrazněno v komentářích k přetečení zásobníku, váš dotaz prohlížeče se liší od dotazu založeného na php klientu – abyste to odstranili z rovnice, měli byste to otestovat s tímto opraveným. Chcete-li získat stejné výsledky jako dotaz založený na prohlížeči, váš php kód by měl vypadat nějak takto:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
Místo toho si představuji, že to vypadá spíš jako:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Očekávám, že uvidíte, že výsledky php klienta budou stejné jako výsledky založené na prohlížeči, a myslím si, že totéž by se stalo, kdybyste to udělali opačně - převezměte své aktuální parametry z php klienta a aplikujte je správně na dotaz založený na prohlížeči.
Nyní k vašemu problému, nevidíte dokumenty správně seřazeny.
Zkusil bych tento dotaz, který je ekvivalentem kódu založeného na php klientovi:
http://localhost:8983/solr/select/?&q=%2A%3A%2A&fq=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
oproti tomuto dotazu, který přesune dotaz filtru do hlavního dotazu:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
a uvidíme, jestli je rozdíl. Pokud existuje, pak může jít o chybu v tom, jak jsou výsledky z filtrovaných dotazů uložených v mezipaměti používány a tříděny podle solr – což by nebyl problém s klientem, ale se samotnou službou solr.
Doufám, že se tím dostanete blíže k anseru.