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

Documents pareils