sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué no funcionará este tipo en Solr?

Como se señaló en los comentarios de desbordamiento de pila, la consulta de su navegador es diferente a la consulta basada en el cliente php; para eliminar eso de la ecuación, debe probar con esto corregido. Para obtener los mismos resultados que la consulta basada en el navegador, su código php debería verse así:

$solr = new Apache_Solr_Client(...);

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

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

En cambio, me imagino que se parece más a:

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

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

Lo que espero que vea es que los resultados del cliente php serán los mismos que los resultados basados ​​en el navegador, e imagino que sucedería lo mismo si lo hiciera de la manera opuesta:tome sus parámetros actuales del cliente php y aplíquelos correctamente al consulta basada en navegador.

Ahora sobre su problema, no ve los documentos ordenados correctamente.

Probaría esta consulta, que es el equivalente del código basado en el cliente 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

frente a esta consulta, que mueve la consulta de filtro a la consulta principal:

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

y ver si hay alguna diferencia. Si lo hay, entonces podría ser un error en la forma en que solr usa y clasifica los resultados de las consultas filtradas en caché, lo que no sería un problema con el cliente, sino con el servicio solr en sí.

Espero que esto te acerque a una respuesta.