olivernn / lunr.js

A bit like Solr, but much smaller and not as bright
http://lunrjs.com
MIT License
8.89k stars 548 forks source link

Update Marketing Speak #402

Closed indolering closed 5 years ago

indolering commented 5 years ago

ElasticLunr has a bunch of marketing about how it is better than Lunr, but I don't think it's accurate anymore:

  1. Query-Time boosting, you don't need to setup boosting weight in index building procedure, this make it more flexible that you could try different boosting scheme.
  2. More rational scoring mechanism, Elasticlunr.js use quite the same scoring mechanism as Elasticsearch, and also this scoring mechanism is used by lucene.
  3. Field-search, you could choose which field to index and which field to search.
  4. Boolean Model, you could set which field to search and the boolean model for each query token, such as "OR", "AND".
  5. Combined Boolean Model, TF/IDF Model and the Vector Space Model, make the results ranking more reliable.
  6. Fast, Elasticlunr.js removed TokenCorpus and Vector from lunr.js, by using combined model there is need to compute the vector of a document to compute the score of a document, this improve the search speed significantly.
  7. Small index file, Elasticlunr.js did not store TokenCorpus because there is no need to compute query vector and document vector, then the index file is very small, this is especially helpful when elasticlunr.js is used as offline search.

Their repo has gone quiet, but some bullet point marketing on the main README and website would be informative to people making comparisons.

olivernn commented 5 years ago

but I don't think it's accurate any more

I would question whether some of it was ever accurate 😜

I'm personally not interested in explicitly calling out the misrepresentations from that README but perhaps a few bullet points of key features would be helpful in the lunr.js README, I'll put something together shortly.

indolering commented 5 years ago

perhaps a few bullet points of key features would be helpful in the lunr.js README

That's what I was suggesting.