Analysis Paralysis: Building the Right Search Index for Your App
Автор: MongoDB
Загружено: 2022-09-28
Просмотров: 1470
So, you’ve created your first search query. You are familiar with various Atlas Search operators. You may have even played around with score modifiers to sort your search results. Yet, typing into that big, beautiful search bar still isn’t bringing you the results you expect from your data. Well, It just might be your search index definition. Or more specifically, your analyzer.
In this stream, we briefly introduce Atlas Search and build some basic use queries. Karen will introduce the concept of analyzers and indexes. Then Evan and Erik diving deeper into Search indexes and analyzers by walking through some real use-cases.
Presented by:
Karen Huaulme, Principal Developer Advocate
Evan Nixon, Atlas Search Lead Engineer
Marcus Eagan, Staff Product Advisor
Erik Hatcher, Staff Developer Advocate
Stream resources:
www.atlassearchsoccer.com
www.atlassearchindexes.com
Sample Index Definitions: https://gist.github.com/navenoxin/3b0...
Sample Queries: https://gist.github.com/navenoxin/5df...
Timestamps:
0:00:00 Welcome
0:03:20 Dream team Introduction
0:08:52 What is Atlas Search
0:09:00 Build a basic $search query with an aggregation
0:10:00 The data in Atlas
0:10:55 Creating a search index
0:11:35 Default search index configuration with lucene standard analyzers and dynamic mapping
0:13:00 Build $search stage in Compass’ Aggregation Pipeline builder
0:14:30 Relevance-based scores and their role in order of search results
0:15:45 Score modifiers
0:16:40 Demo - AtlasSearchSoccer.com to build out search queries interactively
0:19:03 Function scoring, compound operator
0:22:00 Analyzers and Indexes needed in addition to operators
0:22:42 Comparison: MongoDB B-Tree Indexes vs Atlas Search Index (Inverted)
0:24:00 Analyzers and tokens
0:27:00 Atlassearchindexes.com tool to analyze and compare analyzers
0:30:00 Analyze your own data in atlassearchindexes.com
0:32:40 Lesson: Standard versus keyword analyzer in real-use case atlassearchsoccer.com
0:34:20 Best Practices: Working backwards from data - analyzer - index - query
0:35:50 Evan Nixon: What is an Analyzer- A Deeper Look
0:37:00 Analyzer = character filters + tokenizer + token filters
0:38:35 The quick brown fox example in analyzer pipeline
0:39:00 Character filters in depth, html example
0:40:00 Tokenizer, ex. stemming
0:41:30 What is an analyzer summary
0:42:04 Custom analyzers specification
0:42:50 Custom analyzer iteration, example street names: 51st Street vs E 51
0:46:30 1st iteration: stationName analyzer, mapping “E” to “east”, tokenize at characters and letters
0:49:55 2nd interaction analyzer with “multi” and “shingling”
0:55:20 Custom analyzers explained with the inevitable food metaphor
0:57:55: Erik Hatcher dives even deeper, ex “Q-36” space modulator part numbers
0:59:30 Standard vs Custom part number analyzer anticipating user query
1:02:40 Analyzing the analyzers with .explain() plans for comparison
1:03 Another powerful case for custom analyzers: Unanticipated user input, “Q-36” vs “q 36”
Standard analyzer boolean query
1:04:40 The custom analyzer and resulting “TermQuery” - value ‘q36’ regardless of user input
1:06:43 Stream resources: example apps and index and gists
1:07:20 Erik Hatcher compares Atlas Search to the other Search solutions he has worked on with Lucene
💬 Connect with Karen:
Twitter: / youoldmaid
LinkedIn: / karenhuau. .
Instagram: / youoldmaid
Subscribe to MongoDB ►►► https://bit.ly/3bpg1Z1
💬 Connect with MongoDB:
Website: https://bit.ly/2LjtNBZ
Community Forums: https://bit.ly/2I8VCi5
Twitter: https://bit.ly/3fH87gR
Facebook: https://bit.ly/3fEaIsd
LinkedIn: https://bit.ly/2SY9w90
Instagram: https://bit.ly/3bn9bDv
TikTok: https://bit.ly/3fHoqdJ
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: