Như đã chỉ ra trong nhận xét tràn ngăn xếp, truy vấn trình duyệt của bạn khác với truy vấn dựa trên ứng dụng khách php của bạn - để loại bỏ điều đó khỏi phương trình, bạn nên kiểm tra với điều này đã sửa. Để nhận được kết quả tương tự như truy vấn dựa trên trình duyệt, mã php của bạn nên trông giống như sau:
$solr = new Apache_Solr_Client(...);
$searchOptions = array(
'sort' => 'mod_date desc'
);
$results = $solr->search("bmw", 0, 10, $searchOptions);
Thay vào đó, tôi tưởng tượng nó trông giống như sau:
$searchOptions = array(
'fq' => 'category:"Bilar" + car_action:Sälje',
'sort' => 'mod_date desc'
)
$solr->search("\*:*", 0, 10, $searchOptions);
Những gì tôi mong đợi bạn thấy là kết quả ứng dụng khách php sẽ giống với kết quả dựa trên trình duyệt và tôi tưởng tượng điều tương tự sẽ xảy ra nếu bạn làm theo cách ngược lại - lấy các thông số hiện tại của bạn từ ứng dụng khách php và áp dụng chúng một cách chính xác cho truy vấn dựa trên trình duyệt.
Bây giờ vấn đề của bạn, bạn không thấy các tài liệu được sắp xếp đúng cách.
Tôi sẽ thử truy vấn này, tương đương với mã dựa trên ứng dụng khách 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
so với truy vấn này, sẽ di chuyển truy vấn bộ lọc thành truy vấn chính:
http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc
và xem nếu có sự khác biệt. Nếu có, thì đó có thể là một lỗi trong cách sử dụng và sắp xếp kết quả từ các truy vấn đã lọc được lưu trong bộ nhớ cache và sắp xếp theo bộ giải - điều này sẽ không phải là vấn đề với ứng dụng khách, mà là chính dịch vụ giải quyết.
Hy vọng điều này giúp bạn đến gần hơn với anser.