Building Client-side Search Applications with Solr
-
Upload
lucenerevolution -
Category
Technology
-
view
2.764 -
download
0
description
Transcript of Building Client-side Search Applications with Solr
![Page 1: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/1.jpg)
![Page 2: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/2.jpg)
CLIENT-SIDE SEARCH APPS@DanielBeachOpenSource Connections
![Page 3: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/3.jpg)
World’s Data Doubling Annually
![Page 4: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/4.jpg)
Data Discovery Increasingly Important
![Page 5: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/5.jpg)
Client-SideSearch Applications
![Page 6: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/6.jpg)
Traditional ArchitectureServer
Browser
Database
![Page 7: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/7.jpg)
Client-Side ArchitectureJS App andAssets
Browser
Database Server
![Page 8: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/8.jpg)
Client-Side Benefits• Less Architecture Overhead• Smaller, Focused Teams• Faster to Develop• Application Speed
![Page 9: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/9.jpg)
Speed Matters.
![Page 10: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/10.jpg)
Case Study:Global Patent Search Network
http://gpsn.uspto.gov/
![Page 11: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/11.jpg)
The Challenge• 4+ Million Patents• Terabytes of Data• Multiple Languages• All within a ~3 Month Timeframe
![Page 12: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/12.jpg)
Our Solution:
![Page 13: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/13.jpg)
GPSN: Homepage
![Page 14: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/14.jpg)
GPSN: Search Results
![Page 15: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/15.jpg)
GPSN: Expanded Result
![Page 16: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/16.jpg)
GPSN: Search Controls
![Page 17: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/17.jpg)
GPSN: Patent Detail Page
![Page 19: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/19.jpg)
SpyglassSimple search results with Solr + Ember JS
http://github.com/o19s/spyglass
![Page 20: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/20.jpg)
Spyglass Components
Infinite Scroll
Searcher
Facet Group
Result Set
Facet Facet State
Search Input
![Page 21: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/21.jpg)
Setting up the Searcher
App.searcher = SG.SolrSearcher.create({ url: "http://your-solr-url.com/solr/collection/select", params: { "fl": "title_field, description_field, link_field", "q": {}, "fq": [], "start": 0, "rows": 10, "wt": "json" }});
}app.js
![Page 22: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/22.jpg)
Adding Custom Fields to the Search Template
{{#each results}} <li class="sr-item"> <h4><a href="{{link unbound}}">{{ title }}</a></h4> <div> {{{ description }}} </div> </li>{{/each}} }
index.htm
l
![Page 23: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/23.jpg)
Spyglass Results
![Page 24: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/24.jpg)
Setting up the Searcher
App.searcher = SG.SolrSearcher.create({ url: "http://your-solr-url.com/solr/collection/select", params: { "fl": "title_field, description_field, link_field", "facet": true, "facet.field": ["facet_field1", "facet_field2"], "facet.limit": 5, "q": {}, "fq": [], "start": 0, "rows": 10, "wt": "json" }});
}app.js
![Page 25: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/25.jpg)
Adding a Facet Group: Step 1
App.facetGroup1 = SG.FacetGroup.extend({ searcher: App.searcher, fieldName: 'abstract_en', displayName: 'Abstract'}); }ap
p.js
![Page 26: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/26.jpg)
Adding a Facet Group: Step 2
<div class="sf-module"> {{view App.facetGroup1}}</div> }
index.htm
l
![Page 27: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/27.jpg)
Spyglass Facets
![Page 28: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/28.jpg)
Spyglass Blank States
{{#if searcher.isSearching}} <p>Loading Results …</p>{{/if}}{{#if searcher.noResults}} <p>No results were found. Try broadening your terms.</p>{{/if}}{{#if searcher.allResultsLoaded}} <p>All Results Loaded</p>{{/if}} }
index.htm
l
![Page 30: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/30.jpg)
Avoiding the Pitfalls.(“OMG, Security!”)
![Page 31: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/31.jpg)
Security.
![Page 32: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/32.jpg)
Google Juice.
![Page 33: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/33.jpg)
Solr Requests.
![Page 34: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/34.jpg)
Minify All The Things.
![Page 35: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/35.jpg)
Pick the Best Option for
Your Project.
![Page 36: Building Client-side Search Applications with Solr](https://reader033.fdocuments.us/reader033/viewer/2022052321/55502f07b4c9059f318b4ceb/html5/thumbnails/36.jpg)
CLIENT-SIDE SEARCH APPS@DanielBeachOpenSource Connections