Full-Text Search in JavaScript
burakkanber.com
burakkanber.com
It supports multi-field search, stop-word removal, tf-idf - but no Okapi BM25 alas.
I actually just used that library in creating a search for the docs site where I work and I have to say it works really well, it's a fully static site (hosted on github pages) and all the search is done in the browser based on an json "index" file that I generate along side the rest of the site. http://docs.exosite.com/
I'll have to take a look and see what @weixsong added, perhaps there are some changes that I can merge upstream.
[1] https://github.com/weixsong/elasticlunr.js/graphs/contributo...
But of course, it's an interesting topic. If you want to learn more, the first edition of the most widely used textbook is free:
I don't say it's not interesting, it's step forward compared to other articles in my collection [1][2][3] about the same subject allows to dive easily into the metrics and heuristics used in IR.
[1] https://www.youtube.com/watch?v=gJwFHSeFg44
[2] http://aakashjapi.com/fuckin-search-engines-how-do-they-work...
Tom Mitchell's popular definition (from his book "Machine Learning"), which is is even quoted in the opening of the Wikipedia article on Machine Learning, comes to mind:
"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E" [1]
[1]: Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0-07-042807-7, p.2.
[2]: https://en.wikipedia.org/wiki/Machine_learning#Overview
"http://nlp.stanford.edu/IR-book/" resolves to the same resource.
Then (in the simplest case) the responding webserver is configured to treat the two hostnames (and possibly others) as identical and serve the same files.
So I guess there is magic. CNAMEs and virtual hosts and HTTP1.1.