4 ms·
Supporting faced search and other functionality requiring access to per document field-values is just an extension over the core IR functionality. Tracking (do
by markpapadakis 9y ago
Supporting faced search and other functionality requiring access to per document field-values is just an extension over the core IR functionality.
Tracking (document, field) values can be used for query by range or by geolocation primitives (that's what Lucene does, where it will index that data into a special tree-like structure, and for each query, it will build a custom 'iterator' and use it along with other iterators to match documents), and for static ranking of matched documents.
BTW, Lucene and Algolia are vastly different in terms of the underlying architecture.
- lobster_johnson 9y agoWhat is Algolia's underlying architecture like? Are there any papers or code?
- markpapadakis 9y agoSee links about Algolia arch (and other related material) here: https://github.com/phaistos-networks/Trinity/wiki/IR-Search-Links https://github.com/phaistos-networks/Trinity/wiki/IR-Search-...
- gdillon 9y agoThanks for the links, Mark! (Disclaimer, I work for Algolia.) As Mark mentions on his summary page, the best place for that kind of information is our CTO's "Inside the Engine" series (8 parts). https://blog.algolia.com/inside-the-algolia-engine-part-1-indexing-vs-search/ https://blog.algolia.com/inside-the-algolia-engine-part-1-in...
- Jemaclus 9y agoThat's why I mentioned them separately. :)