Your SlideShare is downloading. ×
Enterprise search in plone using solr
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Enterprise search in plone using solr

1,164
views

Published on

Published in: Technology, Business

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,164
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Enterprise Search in Plone using Solr Calvin Hendryx-Parker Plone Conference 2010 Wednesday, October 27, 2010
  • 2. PLONE CONFERENCE 2010 • Java Based • Full-Text Search • Web Services API • Standards Based Interfaces • Scalable • XML Configuration • Extensible What is Solr? Wednesday, October 27, 2010
  • 3. PLONE CONFERENCE 2010 • Indexing • Query Playing with Solr Wednesday, October 27, 2010
  • 4. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 5. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 6. PLONE CONFERENCE 2010 • Data Schema • Faceted Search • Administrative Interface • Incremental Updates • Supports Sharding • Index Databases, Local Files and Web Pages • Supports Multiple Indexes Solr Features Wednesday, October 27, 2010
  • 7. PLONE CONFERENCE 2010 • Stopwords • Synonyms • Highlighted Context Snippets • Spelling Suggestions • More Like This Suggestions • Supports Rich Documents Solr Features Wednesday, October 27, 2010
  • 8. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 9. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 10. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 11. PLONE CONFERENCE 2010Solr Performance • Wiktionary Dataset • 49.5 Millions lines of XML • 1.3 GB of data • 1.7 Million Pages Indexed in 5.5 hours • ZODB Size after import 1.1GB Wednesday, October 27, 2010
  • 12. PLONE CONFERENCE 2010 collective.solr Integration Options with Plone Wednesday, October 27, 2010
  • 13. PLONE CONFERENCE 2010 • Monkey Patching • Relies on collective.indexing • Duplicates all indexes • Sub-Optimal Integration with Zope Transactions • Relies on Thread Locals collective.solr Issues Wednesday, October 27, 2010
  • 14. PLONE CONFERENCE 2010 What to do? Wednesday, October 27, 2010
  • 15. PLONE CONFERENCE 2010 Reevaluate Wednesday, October 27, 2010
  • 16. PLONE CONFERENCE 2010 • No Monkey Patching • Simpler Code Solr Integration as a Catalog Index Wednesday, October 27, 2010
  • 17. PLONE CONFERENCE 2010 • ZCatalog Index • Doesn't depend on Plone • Utilizes new foreign_connections Connection Method • Pass through Solr Queries • Direct access to the Solr Response Enter alm.solrindex Wednesday, October 27, 2010
  • 18. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 19. PLONE CONFERENCE 2010 Wednesday, October 27, 2010
  • 20. PLONE CONFERENCE 2010 • Still handled by the ZCatalog • Could change in the future Sorting Wednesday, October 27, 2010
  • 21. PLONE CONFERENCE 2010 • Handle Parsing Attributes for Indexing • Translate field-specific queries to Solr • Registered as Zope Utilities alm.solrindex Field Handlers Wednesday, October 27, 2010
  • 22. PLONE CONFERENCE 2010 <html> <body> <h3>Code Sample</h3> <p>Replace this text!</p> </body> </html> Example Handler class TextFieldHandler(DefaultFieldHandler): def parse_query(self, field, field_query): name = field.name request = {name: field_query} record = parseIndexRequest(request, name, ('query',)) if not record.keys: return None query_str = ' '.join(record.keys) if not query_str: return None return {'q': u'+%s:%s' % (name, quote_query(query_str))} Wednesday, October 27, 2010
  • 23. PLONE CONFERENCE 2010 • GenericSetup Profile • Tests • Uses solrpy instead of the unsupported solr.py Other alm.solrindex Features Wednesday, October 27, 2010
  • 24. PLONE CONFERENCE 2010 • Can replace several ZCatalog indexes • Remove any indexes you have replaced • Use it for all Text Indexes • Still Utilize the ZCatalog Indexes for Everything Else Tips Wednesday, October 27, 2010
  • 25. PLONE CONFERENCE 2010 Demo Project Gutenburg Data Wednesday, October 27, 2010
  • 26. PLONE CONFERENCE 2010 Questions? Wednesday, October 27, 2010
  • 27. Check out sixfeetup.com/demos Wednesday, October 27, 2010