Damian Luszczymak
Transcription
Damian Luszczymak
Magento Solr Damian Luszczymak 1 Damian Luszczymak • • • • • Fachinformatiker Wirtschaftsinformatik PHP, Java, Objective-C Magento seit Beta Datenimport / Suche http://connect.get-the-code.de 2 Magento Solr • Warum Solr? • Herausforderung • Testumgebung • Vergleich 3 Warum Solr? • Performance • Facetten Suche • Replication / Skalierung • Open Source • SAU SCHNELL vs. Magento Performance 4 Magento Performance • EAV Prinzip ist langsam => Flat Tables • Filterung / Suche generiert komplexe Queries • Damals suche über 5 Minuten bei 60.000 Produkten • Aktuell noch immer zu langsam (1-2 sec.) 5 Herausforderung • Import der Daten • Schnittstelle Magento • Facetten • Volltextsuche • Tags • Updates 6 Testumgebung • Macbook mit • Alle Cache • Magento 1.4.1 • 8.200 Produkte • Solr 1.4 • MAMP, XAMPP • PHP 5.3 SSD, 4GB RAM aktiviert 7 Solr • Lucene Index Struktur • Index enthält Dokumente • Dokumente haben Felder 8 Solr APIs • HTTP GET/POST (curl oder anderer HTTP client) • JSON • solr-ruby • solr-php-client 9 Ist das einfach !!! 1. Solr starten java -jar start.jar 2. Index füllen java -jar post.jar *.xml 3. Suchen http://localhost:8983/solr 10 Konfiguration • schema.xml • Feld Typen und Felder • solrconfig.xml • Cache Einstellungen: filter, query, document • warming listeners • HTTP Cache Einstellungen • plugins: spell checking, highlighting 11 Solr add/update <add><doc> <field name="id">MA147LL/A</field> <field name="name">Apple 60 GB iPod with Video Playback Black</field> <field name="manufacturer">Apple Computer Inc.</field> <field name="cat">electronics</field> <field name="cat">music</field> <field name="features">iTunes, Podcasts, Audiobooks</field> <field name="features">2.5-inch, 320x240 color TFT LCD display with LED backlight</field> <field name="features">Up to 20 hours of battery life</field> <field name="features">Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless</field> <field name="includes">earbud headphones, USB cable</field> <field name="weight">5.5</field> <field name="price">399.00</field> <field name="popularity">10</field> <field name="inStock">true</field> </doc></add> 12 Beispiel Suche • http://localhost:8983/solr/select?q=query • &start=50 • &rows=25 • &fq=filter+query • &facet=on&facet.field=category 13 Vergleich ca. 8200 Produkte bitte warten.... 200.000 150.000 100.000 50.000 0 Magento Indexer Solr Indexer 161 sec 7 sec 14 Beta Anmeldung unter [email protected] 15 Anmerkungen oder Fragen? 16 Kontakt Damian Luszczymak @daimcity +49-160-94 90 19 32 [email protected] 17