filter - SOLR filtro-consulta vs consulta principal
(2)
Un FilterQuery SOLAMENTE almacena documentos IDS. Esto hace que sea muy rápido aplicar el filtro para incluir / excluir documentos. Buenos ejemplos de esto son cuando se filtran productos de búsqueda en función del país, tipo de producto, disponibilidad, etc.
Una consulta normal puede realizar exactamente la misma función, pero tiene un sistema de puntuación muy complejo para determinar la "relevancia". Creo que la documentación indica que la puntuación solo se realiza en la consulta principal, no en la consulta de filtro. Esto también debería aumentar la velocidad de consulta.
Entonces, puedo preguntar por:
description:Kohler AND productType:Toilet
O puedo consultar por:
description:Kohler
with a FQ of productType:Toilet
Los resultados serían los mismos, pero los puntajes serían diferentes. Además, si obtiene muchas consultas diferentes a lo largo del día que son para productType:Toilet
, FilterQuery se almacenará en caché, haciendo que el tiempo de consulta general sea más rápido.
Los documentos SOLR indican que las consultas de filtro , a diferencia de la consulta principal , no influyen en la puntuación del documento. ¿Alguien puede explicar qué significa esto exactamente, preferiblemente con un ejemplo?
Gracias.
fq está destinado a una lista fija de valores. Si busca en q = sunroof + stereo y fq = Mustang solr hará un análisis de texto en el parámetro q ya que q = sunroof + stereo yq = stereo + sunroof devolverá el mismo conjunto de resultados. Pero al filtrar la búsqueda a través de fq no se aplica ningún análisis al parámetro fq y se supone que todos los documentos devueltos coincidirán con el fq, por lo que no es necesario modificar el puntaje de los documentos que coinciden.