My presentation from the 2017 Chicago Coder Conference. Azure Search is a search-as-a-service from Microsoft that allows companies to integrate this powerful, REST-based platform into their applications quickly. Not to be left out in the crowd, Amazon CloudSearch also is a cloud based search product that provides popular search features for applications. Both services can index large volumes of log files and/or text content in real-time and allows users to query them in free form text using RESTful APIs. Join me to find out how you can employ one of these services to make the search experience on your ASP.NET website more accurate, faceted, and downright a pleasure to use no matter how much content you have.
2. Why Are We Here
1. What Can I Do?
2. How Cloud Search helps?
3. What’s the Future
3. When you see this…
Let’s talk about this over a beer
4. Search is Tough
Complex
Requires constant rebuilding
Requires constant tuning
Needs to be industry / site / context specific
Difficult to predict load
If it doesn’t work, you’ll know really fast
5. And then the business people…
“Well it should just work like Google right?”
“I don’t understand, can’t you just do it like Amazon?”
“I searched for blue, how come bluebird, birdblue, and “my bird is blue” didn’t
rank in the results?”
“Why doesn’t product ABC result show first compared to category page?”
“Did you mean the instead of teh?”
And then, of course, there is SharePoint search…
6. Ask me about search one more time...
…I dare you.
13. Azure Search
PaaS Platform
Released in 2014
HTTPS / API-only service
API Keys
Cloud hosted indexes
Low administration
maintained by Microsoft
Plans
Free – 10K Documents / 3 Indexes
Basic – 1M Documents / 5 Indexes
Standard S1 – 15M Documents / 50 Indexes
Standard S2 – 60M+ Documents / 200 Indexes
Standard S3 – 120M+ Documents / 200+ Indexes
Scalability
Multiple tiers
12 Data Centers over 6 regions
• Analytics
Built-in, Power BI
14. Creating Indexes
Data must be hosted in Azure
Push / Pull Model
Push – SDK / REST APIs
Pull = Indexers (SQL Database / VM
SQL / Document DB)
Can have up to 1000 fields in each
index
Field Properties
Key
Searchable
Sortable
Filterable
Retrievable
Suggestions
15. Searching
Single index only
Full-text queries
Prefix matching
Syntax
OData syntax for Boolean
Simple query syntax for full-text
• Search=* (all fields) / Specific columns
Scoring
Scoring Profiles
Field weighting
Custom functions
Azure Search SDK / REST API
17. Advanced Features
Languages
50 languages
Lucene / Microsoft analyzers
Facets
Schema-driven
Define columns to categorize
Facet=Rating,value:1|2|3|4
Filters
Used with facets
Operators
Highlighting
highlight=[field name]
Suggestions
Auto-complete
Fuzzy / Infix
Location based
Results sorted from closer to farther away
from a reference location
CORS
None / All / Custom
18. Analyzing Your Data
• Power BI Content Pack
• Free!, Contains major data points
• Search Reports
• Most Common Search Queries
• Searches Over Time
• Number of Searches
• Indexing Reports
• Indexing Requests, Documents Indexed, 503s
Report