Upload
lucidworks
View
153
Download
0
Embed Size (px)
Citation preview
Think inside the box. Inside the search box, that is.
The "best"* search results incorporate many more factors than (just) textual matching and relevancy. Search experience owners manage query context rules, signals automatically feed back machine learned factors, users implicit and explicit behaviors filter and weight future interactions. Synergy emerges with several cooperating (just) searches.
This talk will showcase and detail several (just) search examples including rules, typeahead/suggest, signals, and location awareness, bringing them all together into a cohesive search experience.
Abstract
• Lucene/Solr Committer • Apache Software Foundation Member • Creator of Blacklight • Co-author of “Ant in Action” and “Lucene in Action” • Co-founder and Senior Solutions Architect at Lucidworks
About me
@erikhatcher
• relevancy ranked results
• faceting
• highlighting
• grouping (collapsing)
• more-like-this
• did-you-mean (spellcheck)
Search Features
• query a “typed” n-grammed index, and get “typed” results
• type examples: brands, categories, specialties, treatments, providers/doctors, products
• suggest Things Not Strings
• things have attributes: metadata
(known) entity detection
• /select?q=sea…
• q=<what user typed>
• Response includes grouped and ranked results, highlighting, and spellcheck suggestions
typeahead request
• clicks and queries
• add-to-carts
• user history, behavior, and preferences
• geo-location, device
signals and recommendations
• <collection>/select?q=search
• <collection>_signals_aggr/select
• ?q=${q}
• qf, pf, sort
• ==> bq: "id:7^1.0"
signals sub-query
• trigger off query context
• query, filters, date/time, tags
• actions -
• boost, block, banner, redirect, set parameters, rewrite query, etc
• superset of signals
• signals: automated feedback
• rules: manually created
rules
• <collection>/select?q=solr search[&tags=mobile,production]
• <collection>_rules/select
• ?q=${q}
• &fq=-enabled:false
• &fq=…effective_range:$now…
• &fq=…tags:($tags)…
• process rules returned
• manipulate request, append to response
rules sub-query
• /providers/select?q=jones&zipcode=10301
• /zipcodes/select?q={!term f=zipcode_s v=$zipcode}
zipcodes collectionzipcodes.csv ZipCode,State,City,County,Latitude,Longitude,AreaCode,TimeZone,DST 85701,AZ,Tucson,Pima,32.216091,-110.97099,520,-7,N 10301,NY,Staten Island,Richmond,40.6226,-74.0992,718,-5,Y 22901,VA,Charlottesville,Albemarle,38.071751,-78.503937,434,-5,Y,
fl += dist:geodist() fq += {!geofilt} pt = ${zipcode_doc.latlon_srpt} sfield = locations_rpt d = 10 sort = geodist() asc
•simple things working together
•whole is greater than the sum of the parts
• feedback loops •emergent behavior
Synergy
• Presentation materials:
• https://github.com/erikhatcher/searchcamp
• Search Hub:
• http://searchhub.lucidworks.com/
• Fusion (platform used for presentation):
• https://lucidworks.com/products/fusion/
See Also
@erikhatcher
Lucidworks Fusion Is Search-Driven Everything
Access data from anywhere to build intelligent, data-driven applications.
Data Acquisition
Indexing & Streaming
Smart Access API
Recommendations & Alerts Analytics & InsightsExtreme Relevancy
CUSTOMER SERVICE
RESEARCH PORTAL
DIGITAL CONTENT
CUSTOMER INSIGHTS
FRAUD SURVEILLANCE
ONLINERETAIL
• https://commons.wikimedia.org/wiki/File:Ant_bridge.jpg
• http://jillian.rootaction.net/?p=340
• https://commons.wikimedia.org/wiki/File:Turtles.on.a.stone.in.brazil.jpg
image credits