際際滷

際際滷Share a Scribd company logo
Magento + Apache Solr:
perch辿 e come
About me


Gennaro Vietri



CTO / co-founder di BitBull



Zend Certified Engineer



Circa 5 anni di esperienza con Magento
@kesonno
+GennaroVietri
Cos'竪 Solr


http://lucene.apache.org/solr/



Progetto Apache Foundation



Scritto in Java e basato su Lucene



API REST XML e JSON



Completa console di gestione web based



Architettura modulare basata su plugin
Un po' di storia


Creato nel 2004 da Yonik Seeley presso CNET Networks



Diventa nel 2006 un progetto dell'Apache Software Foundation



Nel 2010 lo sviluppo viene allineato a quello di Lucene

Chi lo usa


eBay Classified Germany



AOL



Digg



The Guardian



Reddit



CNET



Instagram



Sourceforge



NASA



molti altri...
Caratteristiche


Ricerca fulltext



Faceted navigation



Raccomandazioni ("More like this")



Spell checking



Search suggest / Autocomplete



Possibilit di indicizzare documenti complessi (PDF, Word)



Ricerca geospaziale



Scalabile e distribuito, con clustering dinamico e replica degli indici



Schemaless (grazie ai dynamic fields)
Perch辿 usare Solr con Magento?


Risultati di ricerca pi湛 rilevanti (serchandising)



Supporto per sinonimi e stopwords



Phonetic Matching




Possibilit di dare pesi diversi agli attributi

Fallback in caso di mispelling o zero risultati

Performance


E' veloce!



La layered navigation 竪 built-in (facet)
Cosa possiamo sostituire?


Ricerca libera



Ricerca avanzata



Navigazione del catalogo



Layered navigation



Autocomplete
Soluzioni disponibili


http://solrgento.de



http://www.solrbridge.com



Magento Enterprise 1.8+



https://github.com/magentix/Solr



Solr4Mage (?)



DIY!
DIY


Estensione PECL ( http://pecl.php.net/package/solr )



Veloce (竪 in C)




Inspirata a SolrJ, la libreria "ufficiale"
Non abbonda in documentazione

Solr-php-client ( https://code.google.com/p/solr-php-client/ )





Semplice e "snella"
Poco performante (supporta solo wt=json)

Solarium ( http://www.solarium-project.org )





Potente e configurabile
Architettura a plugin

file_get_contents + eval / unserialize / json_decode
Indexing


POST documenti xml / json



DataImport JDBC ( http://wiki.apache.org/solr/DataImportHandler )


SELECT * FROM catalog_product_flat_1 ...



http://localhost:8983/solr/dataimport
Recuperare i dati


Solo product_id



Poco performante (il resto dei dati lo recupera
Magento)





Poco invasivo

Ha poco senso per la navigazione del catalogo

Tutti i dati del prodotto


Sposta tutto il carico su Solr  veloce!



Bisogna sostituire un bel po' di pezzi
Brainstorming...


Ambiente di staging (http://wiki.apache.org/solr/SolrReplication)



Indicizzazione di pagine CMS e altri contenuti



"Prodotti in evidenza"





Ricerca geospaziale  disponibilit in negozi
fisici
...
Domande?
Grazie!

More Related Content

Magento Day 2013 - Integrazione tra Magento e Solr

  • 1. Magento + Apache Solr: perch辿 e come
  • 2. About me Gennaro Vietri CTO / co-founder di BitBull Zend Certified Engineer Circa 5 anni di esperienza con Magento @kesonno +GennaroVietri
  • 3. Cos'竪 Solr http://lucene.apache.org/solr/ Progetto Apache Foundation Scritto in Java e basato su Lucene API REST XML e JSON Completa console di gestione web based Architettura modulare basata su plugin
  • 4. Un po' di storia Creato nel 2004 da Yonik Seeley presso CNET Networks Diventa nel 2006 un progetto dell'Apache Software Foundation Nel 2010 lo sviluppo viene allineato a quello di Lucene Chi lo usa eBay Classified Germany AOL Digg The Guardian Reddit CNET Instagram Sourceforge NASA molti altri...
  • 5. Caratteristiche Ricerca fulltext Faceted navigation Raccomandazioni ("More like this") Spell checking Search suggest / Autocomplete Possibilit di indicizzare documenti complessi (PDF, Word) Ricerca geospaziale Scalabile e distribuito, con clustering dinamico e replica degli indici Schemaless (grazie ai dynamic fields)
  • 6. Perch辿 usare Solr con Magento? Risultati di ricerca pi湛 rilevanti (serchandising) Supporto per sinonimi e stopwords Phonetic Matching Possibilit di dare pesi diversi agli attributi Fallback in caso di mispelling o zero risultati Performance E' veloce! La layered navigation 竪 built-in (facet)
  • 7. Cosa possiamo sostituire? Ricerca libera Ricerca avanzata Navigazione del catalogo Layered navigation Autocomplete
  • 8. Soluzioni disponibili http://solrgento.de http://www.solrbridge.com Magento Enterprise 1.8+ https://github.com/magentix/Solr Solr4Mage (?) DIY!
  • 9. DIY Estensione PECL ( http://pecl.php.net/package/solr ) Veloce (竪 in C) Inspirata a SolrJ, la libreria "ufficiale" Non abbonda in documentazione Solr-php-client ( https://code.google.com/p/solr-php-client/ ) Semplice e "snella" Poco performante (supporta solo wt=json) Solarium ( http://www.solarium-project.org ) Potente e configurabile Architettura a plugin file_get_contents + eval / unserialize / json_decode
  • 10. Indexing POST documenti xml / json DataImport JDBC ( http://wiki.apache.org/solr/DataImportHandler ) SELECT * FROM catalog_product_flat_1 ... http://localhost:8983/solr/dataimport
  • 11. Recuperare i dati Solo product_id Poco performante (il resto dei dati lo recupera Magento) Poco invasivo Ha poco senso per la navigazione del catalogo Tutti i dati del prodotto Sposta tutto il carico su Solr veloce! Bisogna sostituire un bel po' di pezzi
  • 12. Brainstorming... Ambiente di staging (http://wiki.apache.org/solr/SolrReplication) Indicizzazione di pagine CMS e altri contenuti "Prodotti in evidenza" Ricerca geospaziale disponibilit in negozi fisici ...