sql >> Databasteknik >  >> RDS >> Mysql

Varför fungerar inte den här sorten i Solr?

Som påpekats i stack overflow-kommentarerna är din webbläsarfråga annorlunda än din php-klientbaserade fråga - för att ta bort det från ekvationen bör du testa med detta korrigerat. För att få samma resultat som den webbläsarbaserade frågan borde din php-kod ha sett ut ungefär så här:

$solr = new Apache_Solr_Client(...);

$searchOptions = array(
  'sort' => 'mod_date desc'
);

$results = $solr->search("bmw", 0, 10, $searchOptions);

Istället föreställer jag mig att det ser mer ut som:

$searchOptions = array(
    'fq' => 'category:"Bilar" + car_action:Sälje',
    'sort' => 'mod_date desc'
)

$solr->search("\*:*", 0, 10, $searchOptions);

Det jag förväntar mig att du ska se är att php-klientresultaten kommer att vara desamma som webbläsarbaserade resultat, och jag föreställer mig att samma sak skulle hända om du gjorde det på motsatt sätt - ta dina nuvarande parametrar från php-klienten och tillämpade dem korrekt på webbläsarbaserad fråga.

Nu till ditt problem, du ser inte dokument sorterade ordentligt.

Jag skulle prova den här frågan, som är motsvarigheten till den php-klientbaserade koden:

http://localhost:8983/solr/select/?&q=%2A%3A%2A&fq=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc

kontra denna fråga, som flyttar filterfrågan till huvudfrågan:

http://localhost:8983/solr/select/?&q=+category%3A%22Bilar%22+%2B+car_action%3AS%C3%A4ljes&sort=mod_date+desc

och se om det är någon skillnad. Om det finns det kan det vara en bugg i hur resultat från cachade filtrerade frågor används och sorteras efter solr - vilket inte skulle vara ett problem med klienten, utan själva solr-tjänsten.

Hoppas detta tar dig närmare en anser.



  1. Fånga dubblettpost Undantag

  2. UI-designmönster som inte skalas

  3. SELECT / GROUP BY - tidssegment (10 sekunder, 30 sekunder, etc)

  4. Hur skriver du ut resultatet av en PostgreSQL-fråga i CSV- eller TSV-format från kommandoraden?