SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Faceted Search
And Result
Reordering
Varun Thacker, Unbxd Inc.
Agenda
● Facets
○ Introduction
○ Multi Select Faceting
○ Dynamic Range Faceting
● Reordering Documents
○ Default Scoring Formula
○ Function Queries To Reorder Documents
○ Query Elevation Component
● Query Elevation Component
Faceted Search
● Also known as guided navigation
● Essentially it's a group by on a field
● Values returned are calculated on the
documents from the search results
Brand Facet
Price Facet
Counts
Total Count
How can we this
Implement In Solr
● q = android phones
● facet = true
● facet.field = brand
● facet.range = price
● facet.range.start=0
● facet.range.end=1000
● facet.range.gap=100
● To Filter Results: &fq=brand:"HTC"
Response in XML
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="brand">
<int name="Samsung">293</int> <int name="HTC">100</int> ...
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges">
<lst name="price">
<lst name="counts">
<int name="0">0</int> <int name="100">11</int> ...
</lst>
<int name="gap">100</int>
<int name="start">0</int>
<int name="end">500</int>
</lst>
</lst>
</lst>
Dynamic Price
Range
Total Count
Filters Applied
Filter + Dynamic Price Range
Implementing Dynamic
Price Range
Dynamic range faceting means that we can
group results into buckets of sizes that you
want instead of a fixed bucket range and gap
● &q = *
● &facet = true
● &facet.field = Brand
● &facet.query = Price:[0 TO 5000]
● &facet.query = Price:[5001 TO 8000]
● &facet.query = Price:[8001 TO 15000]
● &facet.query = Price:[15001 TO *]
Multi-Select Faceting
Example
Multi-Select Faceting gives the ability
to display facet counts despite the
result set being filtered
Multi-Select
Faceting
gives the
ability to
display facet
counts of
other brands
despite the
result set
being filtered
on brand HTC
Multi-Select Faceting
Implementation
● tag: Tags a filter with an arbitrary name
● ex: Excludes a tag filter from being applied on a
facet field/query.
● key: Tags a facet field an arbitrary name (instead
of field name).
To Implement In Solr:
● q = android phones
● facet = true
● fq = {!tag=brand_tag}brand:"HTC"
● facet.field = {!ex=brand_tag}brand
Result Options
● Sort by relevancy
○ Default TF-IDF Scores
○ Boost cheaper products
○ Boost newer products
○ Boost high average user clicks and user ratings
○ Boost high selling products
● Fix top results on a per query basis
Function Queries
● Apply functions to a field to alter the score of
a document
● It iterates over all documents serially
applying the function
● Can be multiplied into the score by using the
boost param in the eDismax request handler
TF-IDF Scoring
● tf - Number of times a term occurs in a
document
● idf - Measure of how unique a term is
● lengthNorm - Penalizes long docs with few
term occurrences on index time.
● Doesn't work well for small documents
Boost cheaper products
● Blindly sort the result
○ &sort = price asc
● Give preference to cheaper products
○ Boost value of 2 for the cheapest product
○ Boost value of 1 for the most expensive product
○ &bf = add(div(sub(price, min), sub(max, min)), 1)
■ Use the StatsComponent to get min,max
■ Use the min, max function queries
■ Know your data and use realistic values
Boosting Newer Products
● Blindly sort the result
○ &sort = release_date desc
● Give preference to Newer Products
○ recip(ms(NOW/DAY,pub_date),3.16e-11,1,1)
○ Where recip(m, x, a, b) = a / (mx + b)
○ Picking a=2, b =1, m = 3.16e-11
○ Gives a boost =2 for todays product
○ Gives a boost =1.3 for 1/2 year old product
○ Gives a boost =1 for 1 year old product and so on
Boost high margin
products
● You have a index field called margin
● Again you can always sort on this field
● Or you can give it subtle boosts
○ Let's say you want to boost product which have a
margin more than 50%
○ map(margin_field, 50, 100, 2)
● You can use a high selling, user rating
approach instead too
Query Elevation
Component
● Fix particular documents for certain queries
● No scoring is taken into consideration for
these queries
<elevate>
<query text="android phones">
<doc id="nexus 4" />
<doc id="pick a phone :)" exclude="true"/>
</query>
</elevate>
Conclusion
● Facets have a lot of other use cases -
Analytics. Ex. Range facets to populate
histograms
● Always keep tweaking parameters and
measuring effectiveness of your function
queries.
● Use Query Elevation Component for your
top queries
Thank You
Questions?

Contenu connexe

En vedette

Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"
Provectus
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
Erik Hatcher
 
Solr Black Belt Pre-conference
Solr Black Belt Pre-conferenceSolr Black Belt Pre-conference
Solr Black Belt Pre-conference
Erik Hatcher
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
Erik Hatcher
 
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Provectus
 

En vedette (20)

Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)
 
"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago
 
Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"
 
Solr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksSolr Indexing and Analysis Tricks
Solr Indexing and Analysis Tricks
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
 
Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Call me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksCall me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networks
 
Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
 
Solr Black Belt Pre-conference
Solr Black Belt Pre-conferenceSolr Black Belt Pre-conference
Solr Black Belt Pre-conference
 
Solr Powered Libraries
Solr Powered LibrariesSolr Powered Libraries
Solr Powered Libraries
 
Meet Solr For The Tirst Again
Meet Solr For The Tirst AgainMeet Solr For The Tirst Again
Meet Solr For The Tirst Again
 
Faceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StoryFaceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents Story
 
Solr 4
Solr 4Solr 4
Solr 4
 
Apache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesApache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build Sites
 
Top Node.js Metrics to Watch
Top Node.js Metrics to WatchTop Node.js Metrics to Watch
Top Node.js Metrics to Watch
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
 
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
 

Similaire à Faceted Search And Result Reordering

Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Chris Fregly
 
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Lucidworks
 

Similaire à Faceted Search And Result Reordering (20)

Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
Spark SQL Catalyst Optimizer, Custom Expressions, UDFs - Advanced Spark and T...
 
1000 track2 Bharadwaj
1000 track2 Bharadwaj1000 track2 Bharadwaj
1000 track2 Bharadwaj
 
Query optimization in Apache Tajo
Query optimization in Apache TajoQuery optimization in Apache Tajo
Query optimization in Apache Tajo
 
Final Presentation.pptx
Final Presentation.pptxFinal Presentation.pptx
Final Presentation.pptx
 
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle ContestDA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
 
Volodymyr Lyubinets. One startup's journey of building ML pipelines for text ...
Volodymyr Lyubinets. One startup's journey of building ML pipelines for text ...Volodymyr Lyubinets. One startup's journey of building ML pipelines for text ...
Volodymyr Lyubinets. One startup's journey of building ML pipelines for text ...
 
Outbrain Click Prediction
Outbrain Click PredictionOutbrain Click Prediction
Outbrain Click Prediction
 
Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...
Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...
Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...
 
Copy of CRICKET MATCH WIN PREDICTOR USING LOGISTIC ...
Copy of CRICKET MATCH WIN PREDICTOR USING LOGISTIC                           ...Copy of CRICKET MATCH WIN PREDICTOR USING LOGISTIC                           ...
Copy of CRICKET MATCH WIN PREDICTOR USING LOGISTIC ...
 
DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...
DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...
DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...
 
Production ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeProduction ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ waze
 
CIKM Cup 2016: Cross-Device Linking
CIKM Cup 2016: Cross-Device LinkingCIKM Cup 2016: Cross-Device Linking
CIKM Cup 2016: Cross-Device Linking
 
Transforming B2B Sales with Spark Powered Sales Intelligence
Transforming B2B Sales with Spark Powered Sales IntelligenceTransforming B2B Sales with Spark Powered Sales Intelligence
Transforming B2B Sales with Spark Powered Sales Intelligence
 
Elasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalElasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ Signal
 
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
Practical End-to-End Learning to Rank Using Fusion - Andy Liu, Lucidworks
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with spark
 
"Taster Slides" for Most advanced GTM implementation
"Taster Slides" for Most advanced GTM implementation"Taster Slides" for Most advanced GTM implementation
"Taster Slides" for Most advanced GTM implementation
 
Iterative Methodology for Personalization Models Optimization
 Iterative Methodology for Personalization Models Optimization Iterative Methodology for Personalization Models Optimization
Iterative Methodology for Personalization Models Optimization
 
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
 
Machine learning using TensorFlow on DSX
Machine learning using TensorFlow on DSX Machine learning using TensorFlow on DSX
Machine learning using TensorFlow on DSX
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Faceted Search And Result Reordering

  • 2. Agenda ● Facets ○ Introduction ○ Multi Select Faceting ○ Dynamic Range Faceting ● Reordering Documents ○ Default Scoring Formula ○ Function Queries To Reorder Documents ○ Query Elevation Component ● Query Elevation Component
  • 3. Faceted Search ● Also known as guided navigation ● Essentially it's a group by on a field ● Values returned are calculated on the documents from the search results
  • 5. How can we this Implement In Solr ● q = android phones ● facet = true ● facet.field = brand ● facet.range = price ● facet.range.start=0 ● facet.range.end=1000 ● facet.range.gap=100 ● To Filter Results: &fq=brand:"HTC"
  • 6. Response in XML <lst name="facet_counts"> <lst name="facet_queries"/> <lst name="facet_fields"> <lst name="brand"> <int name="Samsung">293</int> <int name="HTC">100</int> ... </lst> </lst> <lst name="facet_dates"/> <lst name="facet_ranges"> <lst name="price"> <lst name="counts"> <int name="0">0</int> <int name="100">11</int> ... </lst> <int name="gap">100</int> <int name="start">0</int> <int name="end">500</int> </lst> </lst> </lst>
  • 7. Dynamic Price Range Total Count Filters Applied Filter + Dynamic Price Range
  • 8. Implementing Dynamic Price Range Dynamic range faceting means that we can group results into buckets of sizes that you want instead of a fixed bucket range and gap ● &q = * ● &facet = true ● &facet.field = Brand ● &facet.query = Price:[0 TO 5000] ● &facet.query = Price:[5001 TO 8000] ● &facet.query = Price:[8001 TO 15000] ● &facet.query = Price:[15001 TO *]
  • 9. Multi-Select Faceting Example Multi-Select Faceting gives the ability to display facet counts despite the result set being filtered Multi-Select Faceting gives the ability to display facet counts of other brands despite the result set being filtered on brand HTC
  • 10. Multi-Select Faceting Implementation ● tag: Tags a filter with an arbitrary name ● ex: Excludes a tag filter from being applied on a facet field/query. ● key: Tags a facet field an arbitrary name (instead of field name). To Implement In Solr: ● q = android phones ● facet = true ● fq = {!tag=brand_tag}brand:"HTC" ● facet.field = {!ex=brand_tag}brand
  • 11. Result Options ● Sort by relevancy ○ Default TF-IDF Scores ○ Boost cheaper products ○ Boost newer products ○ Boost high average user clicks and user ratings ○ Boost high selling products ● Fix top results on a per query basis
  • 12. Function Queries ● Apply functions to a field to alter the score of a document ● It iterates over all documents serially applying the function ● Can be multiplied into the score by using the boost param in the eDismax request handler
  • 13. TF-IDF Scoring ● tf - Number of times a term occurs in a document ● idf - Measure of how unique a term is ● lengthNorm - Penalizes long docs with few term occurrences on index time. ● Doesn't work well for small documents
  • 14. Boost cheaper products ● Blindly sort the result ○ &sort = price asc ● Give preference to cheaper products ○ Boost value of 2 for the cheapest product ○ Boost value of 1 for the most expensive product ○ &bf = add(div(sub(price, min), sub(max, min)), 1) ■ Use the StatsComponent to get min,max ■ Use the min, max function queries ■ Know your data and use realistic values
  • 15. Boosting Newer Products ● Blindly sort the result ○ &sort = release_date desc ● Give preference to Newer Products ○ recip(ms(NOW/DAY,pub_date),3.16e-11,1,1) ○ Where recip(m, x, a, b) = a / (mx + b) ○ Picking a=2, b =1, m = 3.16e-11 ○ Gives a boost =2 for todays product ○ Gives a boost =1.3 for 1/2 year old product ○ Gives a boost =1 for 1 year old product and so on
  • 16. Boost high margin products ● You have a index field called margin ● Again you can always sort on this field ● Or you can give it subtle boosts ○ Let's say you want to boost product which have a margin more than 50% ○ map(margin_field, 50, 100, 2) ● You can use a high selling, user rating approach instead too
  • 17. Query Elevation Component ● Fix particular documents for certain queries ● No scoring is taken into consideration for these queries <elevate> <query text="android phones"> <doc id="nexus 4" /> <doc id="pick a phone :)" exclude="true"/> </query> </elevate>
  • 18. Conclusion ● Facets have a lot of other use cases - Analytics. Ex. Range facets to populate histograms ● Always keep tweaking parameters and measuring effectiveness of your function queries. ● Use Query Elevation Component for your top queries