Solr 8.6.1
mail-archives.apache.org
mail-archives.apache.org
Having worked for several years at a company selling search, I can't emphasize this enough. Rebuilding indices should always be straightforward, and your data should be very accessible in some other (preliminary) form. We ran into so many issues, and had so many panics, because the index had become the only place some things existed. It's also way easier to tweak (read: optimize) your schema over time when you're in the habit of rebuilding the index.
TLDR; In some cases, what data you actually have (as in "on disk") becomes complicated. For instance, in some cases, once a segment reaches max size (5GB by default) it will only be eligible for merging when it accumulates 50% deletions. This means you might not be able to guarantee deletion of data within 30 days (in accordance with the GDPR).
[0]: https://www.eivindarvesen.com/blog/2018/09/23/lucene-indexes...
Should you use SolrCloud or Solr standalone mode? Use the classic config files? Or dynamic/managed schemas and config APIs?
You may say "to each their own" but when you want to do a simple thing, like install a plugin, and there's about 5 ways to do it - with each way working for a different 75% of use cases, it can be rather frustrating. Compare this to Elasticsearch where there's one company behind everything (for better or worse) with very strict and clear opinions about how to do something.
I'm working on a little project with my personal opinions for Solr use. Call it Effective Solr, or Solr The Good Parts. Who knows when/if it'll get done, and they're my somewhat informed opinions, but maybe someone would find them useful.
It's rather early, but it never hurts to begin gathering comments on this
https://gist.github.com/softwaredoug/3212fa9c5a198a565a9a77b...
Maybe someday somebody will create a new search engine that will be hipster and easy to use, like Algolia but open-source. I'm bit curious though how incumbent Lucene is as the core search engine that it would even make sense to try and recreate it in another language. Probably too much that unless somebody has money to throw around it will remain so to the far future.
In summary, avoid SolrCloud like plague.
1. Core ranked inverted index data store (Lucene)
2. API layer on top of Lucene with easier query, index, data importing, sharding, etc. (Solr/Elastic Search)
3. Fully hosted API / UI for easier GUI for developers and search relevance engineers (Algolia, Lucidworks Fusion).
The new hotness in search is currently Rust-based tooling. Rust is a great application for search as it's very performance-sensitive and data-structure heavy, and once the indexes are built are fairly stable, leading to the 90th+ percentile latencies and throughput to be much better than Lucene-based libraries that are built on top of the JVM.
For the low level core search engine like Lucene (inverted indexes, TF-IDF ranking, etc), there's Tantivy [1]
For the middle tier (ES) there's Sonic [2]
MeiliSearch [3] is a play for the hipster open-source Algolia. It's in Rust, is MIT licensed, supports self-hosting, has an out of the box web interface.
[1] https://github.com/tantivy-search/tantivy [2] https://github.com/valeriansaliou/sonic [3] https://github.com/meilisearch/MeiliSearch
I myself picked up Solr (instead of ES) as it was recommended as better bet for my use case but I did not research in full what others options there were.
Rust seems like a smart choice like it probably is for this type of very fast processing. I guess this is yet another reason to learn it.
[1] https://docs.meilisearch.com/resources/comparison_to_alterna...
https://glennengstrand.info/software/performance/elasticsear...
https://thehftguy.com/2020/08/04/the-differences-between-spl...
https://lists.debian.org/debian-lts-announce/2020/08/msg0002...