Seperti yang ditunjukkan dalam komentar stack overflow, kueri browser Anda berbeda dari kueri berbasis klien php Anda - untuk menghapusnya dari persamaan, Anda harus menguji dengan koreksi ini. Untuk mendapatkan hasil yang sama dengan kueri berbasis browser, kode php Anda seharusnya terlihat seperti ini:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
Sebaliknya, saya membayangkan itu lebih mirip:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Apa yang saya harapkan Anda lihat adalah bahwa hasil klien php akan sama dengan hasil berbasis browser, dan saya membayangkan hal yang sama akan terjadi jika Anda melakukannya dengan cara yang sebaliknya - ambil parameter Anda saat ini dari klien php dan terapkan dengan benar ke kueri berbasis browser.
Sekarang ke masalah Anda, Anda tidak melihat dokumen diurutkan dengan benar.
Saya akan mencoba kueri ini, yang setara dengan kode berbasis klien 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
versus kueri ini, yang memindahkan kueri filter ke kueri utama:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
dan lihat apakah ada perbedaan. Jika ada, maka mungkin ada bug dalam cara hasil dari kueri yang difilter yang di-cache digunakan dan diurutkan berdasarkan solr - yang tidak akan menjadi masalah dengan klien, tetapi layanan solr itu sendiri.
Semoga ini membuat Anda lebih dekat dengan seorang anser.