Changes

Jump to navigation Jump to search
no edit summary
Line 9: Line 9:  
The search API is called by the app to retrieve a high number of generic search results (products) that match a query.
 
The search API is called by the app to retrieve a high number of generic search results (products) that match a query.
    +
<div style="background-color:#ddddff;border:1px solid black;padding:1em">
 
There are some choices we need to make:
 
There are some choices we need to make:
 
# '''How do we declare what kind of products we want to get back (matching)'''
 
# '''How do we declare what kind of products we want to get back (matching)'''
Line 14: Line 15:  
# '''Which of the matching products do we send back (ordering)'''
 
# '''Which of the matching products do we send back (ordering)'''
 
## Recommendation: query-independent sort key based on product data completeness, data quality, product quality and product popularity
 
## Recommendation: query-independent sort key based on product data completeness, data quality, product quality and product popularity
 +
</div>
    
=== Match (required) ===
 
=== Match (required) ===
Line 54: Line 56:  
* It could be very expensive to retrieve similar products in real-time or to pre-compute all of them
 
* It could be very expensive to retrieve similar products in real-time or to pre-compute all of them
 
* Does not work for category search of freely typed search queries
 
* Does not work for category search of freely typed search queries
 +
 +
==== Match a given set of products ====
 +
 +
Given the barcodes of multiple products, return the corresponding products.
 +
 +
This is to be used to make in-store personalized recommendations: the user scans all possible product choices he/she is contemplating (e.g. 5 different breakfast cereals), and we return the corresponding products, which can then be filtered/ranked according to the user preferences.
    
=== Optional filters ===
 
=== Optional filters ===
Line 111: Line 119:  
== Performance ==
 
== Performance ==
   −
95% of search queries need to return results in less than 10 seconds.
+
* 80% of search queries need to return results in less than 5 seconds.
 +
* 95% of search queries need to return results in less than 10 seconds.
    
Search queries should not overload the OFF servers (API server + MongoDB server)
 
Search queries should not overload the OFF servers (API server + MongoDB server)
    
[[Category:Project:Personalized_Search]]
 
[[Category:Project:Personalized_Search]]
 +
[[Category:Search]]

Navigation menu