sql >> Database >  >> RDS >> Mysql

Waarom werkt dit soort in Solr niet?

Zoals aangegeven in de opmerkingen over de stapeloverloop, is uw browserquery anders dan uw op php-client gebaseerde query - om die uit de vergelijking te verwijderen, moet u testen met deze gecorrigeerd. Om dezelfde resultaten te krijgen als de browsergebaseerde zoekopdracht, had uw php-code er ongeveer zo uit moeten zien:

$solr = new Apache_Solr_Client(...);

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

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

In plaats daarvan stel ik me voor dat het er meer uitziet als:

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

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

Wat ik verwacht dat je ziet, is dat de resultaten van de php-client hetzelfde zullen zijn als de browsergebaseerde resultaten, en ik kan me voorstellen dat hetzelfde zou gebeuren als je het op de tegenovergestelde manier zou doen - neem je huidige parameters van de php-client en pas ze correct toe op de browsergebaseerde zoekopdracht.

Nu uw probleem, u ziet de documenten niet goed gesorteerd.

Ik zou deze query proberen, die het equivalent is van de op php-client gebaseerde code:

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 deze query, die de filterquery naar de hoofdquery verplaatst:

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

en kijk of er een verschil is. Als dat zo is, kan het een fout zijn in de manier waarop resultaten van in de cache gefilterde zoekopdrachten worden gebruikt en gesorteerd op solr - wat geen probleem zou zijn met de client, maar met de solr-service zelf.

Ik hoop dat dit je dichter bij een antwoord brengt.



  1. krijg matrix met kolomwaarden in codeigniter

  2. Laravel naar SQL Server (sqlsrv). [PDOException] kon stuurprogramma niet vinden

  3. Hoe verbind ik een C# Windows mobile 6.5-app met een Postgres-database?

  4. SQL Server 2008 - Hoe retourneer ik een door de gebruiker gedefinieerd tabeltype van een functie met tabelwaarde?