Sitecore

Consultas en Solr

En la publicación de hoy voy a compartir sobre consultas en Solr y cómo pueden ser útiles, especialmente durante sesiones de solución de problemas.

Para quienes no lo saben, Sitecore utiliza un motor de búsqueda para dos propósitos en una instalación estándar:

Content searchthis is the default search mechanism in Sitecore Experience Manager. The search engine indexes and finds content from the mastercore or web databases.
xConnect searchthe Sitecore Experience Platform uses this search. The search engine indexes and finds contacts and interactions in the Experience Database.
https://doc.sitecore.com/developers/90/platform-administration-and-architecture/en/using-solr,-lucene,-or-azure-search.html

Como nota aparte, Solr se utiliza en otras soluciones también, y, a pesar de que esta entrada se centra y usa valores de Sitecore, por favor siéntanse libres de echar un vistazo a algunas consultas en Solr.

Hace un par de semanas estaba solucionando un problema de índice en Sitecore, y uno de los pasos de solución de problemas involucraba realizar consultas directamente en Solr.

Después de luchar un poco, pude ejecutar las consultas, así que por favor encuentren algunos ejemplos de cómo realizar consultas en Solr

El inicio

Primero hay que acceder a Solr en su interfaz web, y hacer clic en Collection Selector y luego buscar el índice que quieres consultar, en mi caso quiero sitecore_master_index

solr web interface collection selector blog vinicius deschamps

Una vez seleccionado el índice que quieres, hay algunas opciones disponibles, elige Query

solr web interface collection selector sitecore master index query blog vinicius deschamps

Opciones de consulta

Con el propósito de esta entrada, el único campo que se va a modificar para realizar nuestras consultas es el q

solr web interface query blog vinicius deschamps
ParameterDescription
Request HandlerThe way you are going to interact with solrconfig.xml, and the idea is to search, so let’s leave /select
qIt is the query itself, where the sintax is built to show results
fqApplies a filter query to the search results
sortSorts the response to a query in either ascending or descending order
startSpecifies an offset (by default, 0) into the resposes at which Solr should begin displaying content
rowsControls how many rows of responses are displayed at a time (defaul value: 10)
flLimits the information included in a query
wtSpecifies the Response Writer to be used to format the query response
indent offClick this button to request that the Response Writer use indentation to make the responses more readable.
debugQueryClick this button to augment the query response with debugging information, including “explain info” for each document returned. This debugging information is intended to be intelligible to the administrator or programmer.
dismaxClick this button to enable the Dismax query parser
edismaxClick this button to enable the Extended query parser
hlClick this button to enable highlighting in the query response
facetEnables faceting, the arrangement of search results into categories based on indexed terms.
spatialClick to enable using location data for use in spatial or geospatial searches.
spellcheckClick this button to enable the Spellchecker, which provides inline query suggestions based on other, similar, terms
https://lucene.apache.org/solr/guide/7_2/query-screen.html

Primera consulta

Vamos a usar el parámetro inicial *:* y pulsar Ejecutar Consulta para ver algunos resultados

solr query first query response blog vinicius deschamps

Sintaxis de consulta

Campos

Todo lo que está después de la salida de “response” en negrita son los campos que se pueden usar para componer nuestra consulta

Valores

Todo lo que está después de “field”: ya sea en verde o rojo son los valores que se pueden usar para crear nuestra consulta

Ejemplos de consulta

Los valores de los campos reflejan un índice Sitecore, pero el concepto detrás de las consultas es el mismo, ya que se ejecuta en Solr.

Coincidencia de palabras clave

solr query syntax parsedlanguage s blog vinicius deschamps
solr query syntax parsedlangugage output blog vinicius deschamps

Si observas la primera flecha apuntando a “numFound”, hay 49176 elementos encontrados con la siguiente consulta, y el parsedlanguage_s como se espera mostrando english

Coincidencia con comodín

solr query syntax wildcard uniqueid blog vinicius deschamps
solr query syntax uniqueid output blog vinicius deschamps

Usar la consulta _uniqueid:*lang=en* significa que quiero encontrar lang=en en cualquier lugar del campo uniqueid, y como puedes ver lang=en está en una posición aleatoria del valor.

Múltiples campos

solr query sintax uniqueid parenttemplate s smallcreateddate tdt multiple fields blog vinicius deschamps
solr query syntax uniqueid parenttemplate s smallcreateddate tdt output multiple fields blog vinicius deschamps

La sintaxis ha cambiado ligeramente para aceptar el AND con el fin de buscar en múltiples campos, pero puedes jugar y reducir los resultados usando campos adicionales

Búsqueda por GUID

En Sitecore los GUIDs se proporcionan así {207939C05-FCD8-4BCC-918E-09CE0440F4C1}, y para buscarlos en Solr tienes que cambiarlo de la siguiente forma

solr query syntax uniqueid guid syntax blog vinicius deschamps
solr query syntax uniqueid guid syntax output blog vinicius deschamps

Como puedes ver, la búsqueda por GUID debe hacerse en minúsculas y sin los corchetes, de lo contrario no funcionará

Espero que les haya gustado, y nos vemos en mi próxima entrada

Foto por N. en Unsplash

Sitecore
Consultas en Solr — Vinicius Deschamps