html from your server via ajax and replacing the content of a container on your page with the ajax'd html. ▸ It then updates the browser's current URL using pushState without reloading your page's layout or any resources (JS, CSS), giving the appearance of a fast, full page load. ▸ But really it's just ajax and pushState.
▸ Save on the overhead of fetching/parsing CSS and JS on each page load. ▸ Browser doesn't have to parse all the JS again. ▸ This feels a lot like SPA but works without the complexity of an SPA.
wisely. ▸ Query time with facet/aggregation is 3-10 times slower than without facet/ aggregation. ▸ Currently in Blibli, we are using facet/aggregation in all search page.
change page in search result. We fetch search result and all facet/aggregation via ajax. ▸ https://www.blibli.com/ajax-search ▸ Actually we don’t need facet/aggregation result if only change page ▸ https://www.blibli.com/ajax-search?aggregation=false
filter facet/aggregation, We will reload all search result and aggregation. ▸ But, we still using old facet for selected filter. ▸ https://www.blibli.com/ajax-search?brand=Acer&aggregation_brand=false
is that search engines (Solr or Elasticsearch), are simply sophisticated text matching systems. They can tell you when the search word matches a word in the document, but they aren’t nearly smart or adaptable as human sales associate. ▸ Outside of this core “engine”, a lot of search relevancy is about development required to text analysis, correctly boosting/weighting on the right factors, tags ontologies or natural language processing.
using stop word to analyze the text. ▸ Customer can only search word by word. ▸ We need to used N-Gram index analyzer if we want to implement Real Time Search.
Search is challenging, especially in facet/aggregation. ▸ We can use google search technic. ▸ When user typing, we can show real time search result. ▸ When user stop typing or hit enter, we show the facet/aggregation.