SlideShare ist ein Scribd-Unternehmen logo
Samuel Solís || @estoyausente
Querying Solr
Samuel Solís || @estoyausente
¿Quién **** soy?
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
¿Qué es Solr?
Samuel Solís || @estoyausente
Solr y Drupal
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
Mi problema: D6
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
Más allá del módulo
Samuel Solís || @estoyausente
Hacer una query
Samuel Solís || @estoyausente
http://searchengine.local:8983/solr/search/select/?wt=json&q=
vino&rows=30&defType=edismax&qf=ts_title+terms_ts_title+term
s_ts_description+tws_producer_name_fulltext+tws_product_type
+ss_variedad_principal+tws_do_fulltext+ss_sub_product_type+ss
_region+tws_country_fulltext+ts_maridaje_keywords&start=0&m
m=1&mm.autoRelax=true&ps=1&bf=if(gt(its_rating_count,4),fts_r
ating_average,0)&spellcheck=on&spellcheck.q=vino&fq=ss_langc
ode:es&fq=bs_on_sale:true&facet=on&facet.mincount=1&facet.fi
eld=ss_sub_product_type&facet.field=ss_variedad_principal&face
t.field=ss_country&facet.field=ss_do&facet.field=ss_producer_na
me&facet.field=ss_format_type
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
wt=json // Tipo de salida (no necesario en Solr > 8.0)
q=vino // Término a buscar
rows=30 // Nº de filas a retornar
defType=edismax // Tipo de query parser
start=0 // paginador
mm=1 // Minimal match
Algunas reglas generales.
Samuel Solís || @estoyausente
Query fields
qf=ts_title^9+terms_ts_title+terms_ts_description+tws_pr
oducer_name_fulltext+tws_product_type+ss_variedad_princi
pal+tws_do_fulltext^5+ss_sub_product_type+ss_region+tws_
country_fulltext+ts_maridaje_keywords
Samuel Solís || @estoyausente
Boost
bf=if(gt(its_rating_count,4),fts_rating_average,0)
Samuel Solís || @estoyausente
Spellcheck
spellcheck=on
spellcheck.q=vino
Samuel Solís || @estoyausente
Filtros
fq=ss_langcode:es
fq=bs_on_sale:true
Samuel Solís || @estoyausente
Facets
facet=on
facet.mincount=1
facet.field=ss_sub_product_type
facet.field=ss_variedad_principal
Samuel Solís || @estoyausente
Depuración de errores
Samuel Solís || @estoyausente
Tres preguntas a resolver
¿Por qué algo sale?
¿Por qué sale donde sale?
¿Por qué no sale?
Samuel Solís || @estoyausente
1
¿Por qué algo sale?
¿Por qué sale donde sale?
Samuel Solís || @estoyausente
debug
debug=on
Samuel Solís || @estoyausente
"4yh6ae-search_index-entity:bb_product/1062611:es": "n12.092266 = sum of:n 8.292266 = max plus 0.01
times others of:n 5.5033407 = weight(terms_ts_title:barahonda in 2397) [SchemaSimilarity], result of:n
5.5033407 = score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n 5.788076 = idf, computed as log(1
+ (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 153.0 = docFreqn 50099.0 = docCountn
0.9508066 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength))
from:n 1.0 = termFreq=1.0n 1.2 = parameter k1n 0.75 = parameter bn 3.5509093 =
avgFieldLengthn 4.0 = fieldLengthn 8.121311 = weight(terms_ts_description:barahonda in 2397)
[SchemaSimilarity], result of:n 8.121311 = score(doc=2397,freq=2.0 = termFreq=2.0n), product of:n
5.7482705 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 79.0 =
docFreqn 24934.0 = docCountn 1.4128269 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 -
b + b * fieldLength / avgFieldLength)) from:n 2.0 = termFreq=2.0n 1.2 = parameter k1n 0.75
= parameter bn 45.26947 = avgFieldLengthn 40.96 = fieldLengthn 5.419983 =
weight(tws_producer_name_fulltext:barahonda in 2397) [SchemaSimilarity], result of:n 5.419983 =
score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n 5.419983 = idf, computed as log(1 + (docCount
- docFreq + 0.5) / (docFreq + 0.5)) from:n 216.0 = docFreqn 48901.0 = docCountn 1.0 =
tfNorm, computed as (freq * (k1 + 1)) / (freq + k1) from:n 1.0 = termFreq=1.0n 1.2 = parameter
k1n 0.0 = parameter b (norms omitted for field)n 6.1721554 = weight(ts_title:barahonda in 2397)
[SchemaSimilarity], result of:n 6.1721554 = score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n
5.788255 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 153.0 =
docFreqn 50108.0 = docCountn 1.066324 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 -
b + b * fieldLength / avgFieldLength)) from:n 1.0 = termFreq=1.0n 1.2 = parameter k1n 0.75
= parameter bn 4.717211 = avgFieldLengthn 4.0 = fieldLengthn 3.8 =
FunctionQuery(if(gt(long(its_rating_count),const(4)),float(fts_rating_average),const(0))), product of:n 3.8 =
if(gt(long(its_rating_count)=19,const(4)),float(fts_rating_average)=3.8,const(0))n 1.0 = boostn 1.0 =
queryNormn",
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
60.223747 = sum of:
56.423748 = max plus 0.01 times others of:[matchs de
campos]
3.8 = [boots general]
Suma final
TIE param
Samuel Solís || @estoyausente
49.530067 = weight(terms_ts_title:barahonda in 2397)
[SchemaSimilarity], result of:
49.530067 = score(doc=2397,freq=1.0 = termFreq=1.0), product of:
9.0 = boost
5.788076 = idf
0.9508066 = tfNorm
Suma por campo
Inverse document frequency
= log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)
Normalized term frequency
(freq * (k1 + 1)) / (freq + k1 * (1 - b + b *
fieldLength / avgFieldLength))
Boost forzado
Samuel Solís || @estoyausente
Extra boost
3.8 = product of:
3.8 =
if(gt(long(its_rating_count)=19,const(4)),float(fts_rating
_average)=3.8,const(0))
1.0 = boost
Samuel Solís || @estoyausente
2
¿Por qué no sale?
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
Ya casi hemos acabado
Samuel Solís || @estoyausente
solrconfig.yml
Samuel Solís || @estoyausente
RequestHandlers
<requestHandler name="/suggest" class="solr.SearchHandler">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.dictionary">blendedSuggester</str>
<str name="suggest.count">15</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
Samuel Solís || @estoyausente
Search
Component
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">blendedSuggester</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="indexPath">blended_suggestions</str>
<str name="field">name_autocomplete</str>
<str
name="dictionaryImpl">DocumentExpressionDictionaryFactory</str>
<str name="weightExpression">((its_top_ventas * 2) +
its_mejor_valorados)</str>
<str name="sortField">its_top_ventas</str>
<str name="suggestAnalyzerFieldType">text</str>
<str name="buildOnStartup">false</str>
<str name="buildOnCommit">false</str>
</lst>
</searchComponent>
Samuel Solís || @estoyausente
Recap
Samuel Solís || @estoyausente
Samuel Solís || @estoyausente
La página de gracias de bodeboca

Weitere ähnliche Inhalte

Was ist angesagt?

C++ TUTORIAL 9
C++ TUTORIAL 9C++ TUTORIAL 9
C++ TUTORIAL 9
Farhan Ab Rahman
 
C++ TUTORIAL 7
C++ TUTORIAL 7C++ TUTORIAL 7
C++ TUTORIAL 7
Farhan Ab Rahman
 
C++ TUTORIAL 1
C++ TUTORIAL 1C++ TUTORIAL 1
C++ TUTORIAL 1
Farhan Ab Rahman
 
Assignment on Numerical Method C Code
Assignment on Numerical Method C CodeAssignment on Numerical Method C Code
Assignment on Numerical Method C Code
Syed Ahmed Zaki
 
Matlab file
Matlab file Matlab file
Matlab file
rampal singh
 
Programming with OpenGL
Programming with OpenGLProgramming with OpenGL
Programming with OpenGL
Syed Zaid Irshad
 
New presentation oop
New presentation oopNew presentation oop
New presentation oop
Ch shampi Ch shampi
 
oop Lecture 4
oop Lecture 4oop Lecture 4
oop Lecture 4
Anwar Ul Haq
 
Array
ArrayArray
Array
Radha Rani
 
Cpp programs
Cpp programsCpp programs
Cpp programs
harman kaur
 
Comparison GUM versus GUM+1
Comparison GUM  versus GUM+1Comparison GUM  versus GUM+1
Comparison GUM versus GUM+1
Maurice Maeck
 
Numerical analysis
Numerical analysisNumerical analysis
Numerical analysis
Vishal Singh
 
Maths 301 key_sem_1_2007_2008
Maths 301 key_sem_1_2007_2008Maths 301 key_sem_1_2007_2008
Maths 301 key_sem_1_2007_2008
Yanbu Industrial College
 
Computer graphics
Computer graphics   Computer graphics
Computer graphics
Prianka Padmanaban
 
C++ Programming - 14th Study
C++ Programming - 14th StudyC++ Programming - 14th Study
C++ Programming - 14th Study
Chris Ohk
 
Computer Graphics Lab File C Programs
Computer Graphics Lab File C ProgramsComputer Graphics Lab File C Programs
Computer Graphics Lab File C Programs
Kandarp Tiwari
 
VTU Network lab programs
VTU Network lab   programsVTU Network lab   programs
VTU Network lab programs
Ananda Kumar HN
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cpp
Alamgir Hossain
 
Logic Design - Chapter 3: Boolean Algebra
Logic Design - Chapter 3: Boolean AlgebraLogic Design - Chapter 3: Boolean Algebra
Logic Design - Chapter 3: Boolean Algebra
Gouda Mando
 
Lab 1 izz
Lab 1 izzLab 1 izz
Lab 1 izz
Sivanraaj
 

Was ist angesagt? (20)

C++ TUTORIAL 9
C++ TUTORIAL 9C++ TUTORIAL 9
C++ TUTORIAL 9
 
C++ TUTORIAL 7
C++ TUTORIAL 7C++ TUTORIAL 7
C++ TUTORIAL 7
 
C++ TUTORIAL 1
C++ TUTORIAL 1C++ TUTORIAL 1
C++ TUTORIAL 1
 
Assignment on Numerical Method C Code
Assignment on Numerical Method C CodeAssignment on Numerical Method C Code
Assignment on Numerical Method C Code
 
Matlab file
Matlab file Matlab file
Matlab file
 
Programming with OpenGL
Programming with OpenGLProgramming with OpenGL
Programming with OpenGL
 
New presentation oop
New presentation oopNew presentation oop
New presentation oop
 
oop Lecture 4
oop Lecture 4oop Lecture 4
oop Lecture 4
 
Array
ArrayArray
Array
 
Cpp programs
Cpp programsCpp programs
Cpp programs
 
Comparison GUM versus GUM+1
Comparison GUM  versus GUM+1Comparison GUM  versus GUM+1
Comparison GUM versus GUM+1
 
Numerical analysis
Numerical analysisNumerical analysis
Numerical analysis
 
Maths 301 key_sem_1_2007_2008
Maths 301 key_sem_1_2007_2008Maths 301 key_sem_1_2007_2008
Maths 301 key_sem_1_2007_2008
 
Computer graphics
Computer graphics   Computer graphics
Computer graphics
 
C++ Programming - 14th Study
C++ Programming - 14th StudyC++ Programming - 14th Study
C++ Programming - 14th Study
 
Computer Graphics Lab File C Programs
Computer Graphics Lab File C ProgramsComputer Graphics Lab File C Programs
Computer Graphics Lab File C Programs
 
VTU Network lab programs
VTU Network lab   programsVTU Network lab   programs
VTU Network lab programs
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cpp
 
Logic Design - Chapter 3: Boolean Algebra
Logic Design - Chapter 3: Boolean AlgebraLogic Design - Chapter 3: Boolean Algebra
Logic Design - Chapter 3: Boolean Algebra
 
Lab 1 izz
Lab 1 izzLab 1 izz
Lab 1 izz
 

Ähnlich wie Querying solr

The Ring programming language version 1.6 book - Part 9 of 189
The Ring programming language version 1.6 book - Part 9 of 189The Ring programming language version 1.6 book - Part 9 of 189
The Ring programming language version 1.6 book - Part 9 of 189
Mahmoud Samir Fayed
 
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
Lucidworks
 
The Ring programming language version 1.7 book - Part 10 of 196
The Ring programming language version 1.7 book - Part 10 of 196The Ring programming language version 1.7 book - Part 10 of 196
The Ring programming language version 1.7 book - Part 10 of 196
Mahmoud Samir Fayed
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
Ken'ichi Matsui
 
Go Says WAT?
Go Says WAT?Go Says WAT?
Go Says WAT?
jonbodner
 
How to tune a query - ODTUG 2012
How to tune a query - ODTUG 2012How to tune a query - ODTUG 2012
How to tune a query - ODTUG 2012
Connor McDonald
 
R getting spatial
R getting spatialR getting spatial
R getting spatial
FAO
 
Ch3
Ch3Ch3
10. R getting spatial
10.  R getting spatial10.  R getting spatial
10. R getting spatial
ExternalEvents
 
Chapter 2
Chapter 2Chapter 2
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
Wim Godden
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
Krzysztof Szafranek
 
Assignment 5.2.pdf
Assignment 5.2.pdfAssignment 5.2.pdf
Assignment 5.2.pdf
dash41
 
Code optimization
Code optimization Code optimization
Code optimization
Code optimization Code optimization
Learn Matlab
Learn MatlabLearn Matlab
Learn Matlab
Abd El Kareem Ahmed
 
Regression and Classification with R
Regression and Classification with RRegression and Classification with R
Regression and Classification with R
Yanchang Zhao
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
Wim Godden
 
Pdxpugday2010 pg90
Pdxpugday2010 pg90Pdxpugday2010 pg90
Pdxpugday2010 pg90
Selena Deckelmann
 
Econometric Analysis 8th Edition Greene Solutions Manual
Econometric Analysis 8th Edition Greene Solutions ManualEconometric Analysis 8th Edition Greene Solutions Manual
Econometric Analysis 8th Edition Greene Solutions Manual
LewisSimmonss
 

Ähnlich wie Querying solr (20)

The Ring programming language version 1.6 book - Part 9 of 189
The Ring programming language version 1.6 book - Part 9 of 189The Ring programming language version 1.6 book - Part 9 of 189
The Ring programming language version 1.6 book - Part 9 of 189
 
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
Art and Science Come Together When Mastering Relevance Ranking - Tom Burgmans...
 
The Ring programming language version 1.7 book - Part 10 of 196
The Ring programming language version 1.7 book - Part 10 of 196The Ring programming language version 1.7 book - Part 10 of 196
The Ring programming language version 1.7 book - Part 10 of 196
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
 
Go Says WAT?
Go Says WAT?Go Says WAT?
Go Says WAT?
 
How to tune a query - ODTUG 2012
How to tune a query - ODTUG 2012How to tune a query - ODTUG 2012
How to tune a query - ODTUG 2012
 
R getting spatial
R getting spatialR getting spatial
R getting spatial
 
Ch3
Ch3Ch3
Ch3
 
10. R getting spatial
10.  R getting spatial10.  R getting spatial
10. R getting spatial
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
 
Assignment 5.2.pdf
Assignment 5.2.pdfAssignment 5.2.pdf
Assignment 5.2.pdf
 
Code optimization
Code optimization Code optimization
Code optimization
 
Code optimization
Code optimization Code optimization
Code optimization
 
Learn Matlab
Learn MatlabLearn Matlab
Learn Matlab
 
Regression and Classification with R
Regression and Classification with RRegression and Classification with R
Regression and Classification with R
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Pdxpugday2010 pg90
Pdxpugday2010 pg90Pdxpugday2010 pg90
Pdxpugday2010 pg90
 
Econometric Analysis 8th Edition Greene Solutions Manual
Econometric Analysis 8th Edition Greene Solutions ManualEconometric Analysis 8th Edition Greene Solutions Manual
Econometric Analysis 8th Edition Greene Solutions Manual
 

Mehr von Samuel Solís Fuentes

El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
Samuel Solís Fuentes
 
De managers y developers
De managers y developersDe managers y developers
De managers y developers
Samuel Solís Fuentes
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
Samuel Solís Fuentes
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
Samuel Solís Fuentes
 
D8 Form api
D8 Form apiD8 Form api
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
Samuel Solís Fuentes
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
Samuel Solís Fuentes
 
Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
Samuel Solís Fuentes
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Samuel Solís Fuentes
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
Samuel Solís Fuentes
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
Samuel Solís Fuentes
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
Samuel Solís Fuentes
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
Samuel Solís Fuentes
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
Samuel Solís Fuentes
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
Samuel Solís Fuentes
 
Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
Samuel Solís Fuentes
 
Drupal para desarrolladores
Drupal para desarrolladoresDrupal para desarrolladores
Drupal para desarrolladores
Samuel Solís Fuentes
 

Mehr von Samuel Solís Fuentes (17)

El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
De managers y developers
De managers y developersDe managers y developers
De managers y developers
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
D8 Form api
D8 Form apiD8 Form api
D8 Form api
 
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
 
Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
 
Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
 
Drupal para desarrolladores
Drupal para desarrolladoresDrupal para desarrolladores
Drupal para desarrolladores
 

Kürzlich hochgeladen

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Kürzlich hochgeladen (20)

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

Querying solr

  • 1. Samuel Solís || @estoyausente Querying Solr
  • 2. Samuel Solís || @estoyausente ¿Quién **** soy?
  • 3. Samuel Solís || @estoyausente
  • 4. Samuel Solís || @estoyausente ¿Qué es Solr?
  • 5. Samuel Solís || @estoyausente Solr y Drupal
  • 6. Samuel Solís || @estoyausente
  • 7. Samuel Solís || @estoyausente
  • 8. Samuel Solís || @estoyausente Mi problema: D6
  • 9. Samuel Solís || @estoyausente
  • 10. Samuel Solís || @estoyausente Más allá del módulo
  • 11. Samuel Solís || @estoyausente Hacer una query
  • 12. Samuel Solís || @estoyausente http://searchengine.local:8983/solr/search/select/?wt=json&q= vino&rows=30&defType=edismax&qf=ts_title+terms_ts_title+term s_ts_description+tws_producer_name_fulltext+tws_product_type +ss_variedad_principal+tws_do_fulltext+ss_sub_product_type+ss _region+tws_country_fulltext+ts_maridaje_keywords&start=0&m m=1&mm.autoRelax=true&ps=1&bf=if(gt(its_rating_count,4),fts_r ating_average,0)&spellcheck=on&spellcheck.q=vino&fq=ss_langc ode:es&fq=bs_on_sale:true&facet=on&facet.mincount=1&facet.fi eld=ss_sub_product_type&facet.field=ss_variedad_principal&face t.field=ss_country&facet.field=ss_do&facet.field=ss_producer_na me&facet.field=ss_format_type
  • 13. Samuel Solís || @estoyausente
  • 14. Samuel Solís || @estoyausente wt=json // Tipo de salida (no necesario en Solr > 8.0) q=vino // Término a buscar rows=30 // Nº de filas a retornar defType=edismax // Tipo de query parser start=0 // paginador mm=1 // Minimal match Algunas reglas generales.
  • 15. Samuel Solís || @estoyausente Query fields qf=ts_title^9+terms_ts_title+terms_ts_description+tws_pr oducer_name_fulltext+tws_product_type+ss_variedad_princi pal+tws_do_fulltext^5+ss_sub_product_type+ss_region+tws_ country_fulltext+ts_maridaje_keywords
  • 16. Samuel Solís || @estoyausente Boost bf=if(gt(its_rating_count,4),fts_rating_average,0)
  • 17. Samuel Solís || @estoyausente Spellcheck spellcheck=on spellcheck.q=vino
  • 18. Samuel Solís || @estoyausente Filtros fq=ss_langcode:es fq=bs_on_sale:true
  • 19. Samuel Solís || @estoyausente Facets facet=on facet.mincount=1 facet.field=ss_sub_product_type facet.field=ss_variedad_principal
  • 20. Samuel Solís || @estoyausente Depuración de errores
  • 21. Samuel Solís || @estoyausente Tres preguntas a resolver ¿Por qué algo sale? ¿Por qué sale donde sale? ¿Por qué no sale?
  • 22. Samuel Solís || @estoyausente 1 ¿Por qué algo sale? ¿Por qué sale donde sale?
  • 23. Samuel Solís || @estoyausente debug debug=on
  • 24. Samuel Solís || @estoyausente "4yh6ae-search_index-entity:bb_product/1062611:es": "n12.092266 = sum of:n 8.292266 = max plus 0.01 times others of:n 5.5033407 = weight(terms_ts_title:barahonda in 2397) [SchemaSimilarity], result of:n 5.5033407 = score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n 5.788076 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 153.0 = docFreqn 50099.0 = docCountn 0.9508066 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:n 1.0 = termFreq=1.0n 1.2 = parameter k1n 0.75 = parameter bn 3.5509093 = avgFieldLengthn 4.0 = fieldLengthn 8.121311 = weight(terms_ts_description:barahonda in 2397) [SchemaSimilarity], result of:n 8.121311 = score(doc=2397,freq=2.0 = termFreq=2.0n), product of:n 5.7482705 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 79.0 = docFreqn 24934.0 = docCountn 1.4128269 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:n 2.0 = termFreq=2.0n 1.2 = parameter k1n 0.75 = parameter bn 45.26947 = avgFieldLengthn 40.96 = fieldLengthn 5.419983 = weight(tws_producer_name_fulltext:barahonda in 2397) [SchemaSimilarity], result of:n 5.419983 = score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n 5.419983 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 216.0 = docFreqn 48901.0 = docCountn 1.0 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1) from:n 1.0 = termFreq=1.0n 1.2 = parameter k1n 0.0 = parameter b (norms omitted for field)n 6.1721554 = weight(ts_title:barahonda in 2397) [SchemaSimilarity], result of:n 6.1721554 = score(doc=2397,freq=1.0 = termFreq=1.0n), product of:n 5.788255 = idf, computed as log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) from:n 153.0 = docFreqn 50108.0 = docCountn 1.066324 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:n 1.0 = termFreq=1.0n 1.2 = parameter k1n 0.75 = parameter bn 4.717211 = avgFieldLengthn 4.0 = fieldLengthn 3.8 = FunctionQuery(if(gt(long(its_rating_count),const(4)),float(fts_rating_average),const(0))), product of:n 3.8 = if(gt(long(its_rating_count)=19,const(4)),float(fts_rating_average)=3.8,const(0))n 1.0 = boostn 1.0 = queryNormn",
  • 25. Samuel Solís || @estoyausente
  • 26. Samuel Solís || @estoyausente 60.223747 = sum of: 56.423748 = max plus 0.01 times others of:[matchs de campos] 3.8 = [boots general] Suma final TIE param
  • 27. Samuel Solís || @estoyausente 49.530067 = weight(terms_ts_title:barahonda in 2397) [SchemaSimilarity], result of: 49.530067 = score(doc=2397,freq=1.0 = termFreq=1.0), product of: 9.0 = boost 5.788076 = idf 0.9508066 = tfNorm Suma por campo Inverse document frequency = log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5) Normalized term frequency (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) Boost forzado
  • 28. Samuel Solís || @estoyausente Extra boost 3.8 = product of: 3.8 = if(gt(long(its_rating_count)=19,const(4)),float(fts_rating _average)=3.8,const(0)) 1.0 = boost
  • 29. Samuel Solís || @estoyausente 2 ¿Por qué no sale?
  • 30. Samuel Solís || @estoyausente
  • 31. Samuel Solís || @estoyausente
  • 32. Samuel Solís || @estoyausente Ya casi hemos acabado
  • 33. Samuel Solís || @estoyausente solrconfig.yml
  • 34. Samuel Solís || @estoyausente RequestHandlers <requestHandler name="/suggest" class="solr.SearchHandler"> <lst name="defaults"> <str name="suggest">true</str> <str name="suggest.dictionary">blendedSuggester</str> <str name="suggest.count">15</str> </lst> <arr name="components"> <str>suggest</str> </arr> </requestHandler>
  • 35. Samuel Solís || @estoyausente Search Component <searchComponent name="suggest" class="solr.SuggestComponent"> <lst name="suggester"> <str name="name">blendedSuggester</str> <str name="lookupImpl">BlendedInfixLookupFactory</str> <str name="indexPath">blended_suggestions</str> <str name="field">name_autocomplete</str> <str name="dictionaryImpl">DocumentExpressionDictionaryFactory</str> <str name="weightExpression">((its_top_ventas * 2) + its_mejor_valorados)</str> <str name="sortField">its_top_ventas</str> <str name="suggestAnalyzerFieldType">text</str> <str name="buildOnStartup">false</str> <str name="buildOnCommit">false</str> </lst> </searchComponent>
  • 36. Samuel Solís || @estoyausente Recap
  • 37. Samuel Solís || @estoyausente
  • 38. Samuel Solís || @estoyausente La página de gracias de bodeboca