Evolution of Slack Search
summary
Slack runs search on Apache Solr with a hybrid pipeline: an offline MapReduce/EMR indexer that emits Solr cores to S3 plus seven daily live collections layered on top, routing users into 64 stripes and per-team partitions of 120–128 shards. Language handling indexes messages into locale-specific fields (special CJK detection) so queries scan multiple analyzers. A Java search proxy (SolrJ) does query rewriting and re‑ranking, and multitenant enterprise key management forces thousands of encrypted collections, creating cluster scaling and slow-node isolation challenges.
AI-written summary · about
chapters (16)
- 0:00Introduction to Slack Search
- 1:07Slack Architecture Overview
- 2:58User-Specific Search Results
- 4:42Search Indexing Infrastructure
- 6:10Offline Index Building Process
- 9:05Composite Dimensions Job
- 10:07Solar Input Documents
- 11:10Live Collections and Stripes
- 12:35Advantages of Offline Indexing
- 13:43Enterprise Key Management Impact
- 15:10Internationalization and Localization
- 19:33Searching Across Language Fields
- 23:29Query Architecture Overview
- 24:54Search Proxy and Query Rewriting
- 27:28Proxy Layer Challenges
- 27:55Q&A Session
related talks
40mSmarter Search with Spark, Solr and Machine Learning
30mUsing Solr unconventionally to serve 26bn+ documents
46mSearch in the Cloud: separation of compute and storage
46mDiscovery & Analytics with Hadoop, Mahout & Solr
22mSmarter Search With Spark-Solr
38mEvolution of Uber's Search Platform
34mArchitecting Solr indexing pipelines in Google Cloud Platform
25mApache Lucene: From Text Indexing to Artificial Intelligence
