HTML

View Péter Király's profile on LinkedIn

20 éves a MEK, 10 éves az EPA Én is
MEK önkéntes
vagyok

20 éves a MEK
10 éves az EPA

kirunews

Király Péter, keresés, Lucene, Solr, Java, Perl, PHP, OAI-PMH, webfejlesztés, digitális könyvtár, MARC, FRBR, RDA, Drupal, EAD, EAC, Europeana, eXtensibleCatalog.org, MEK, és sok minden más.

Friss topikok

Linkblog

Solr - adatbázis import

2008.04.09. 10:34 kirunews

Solr + Complex Legacy Schema -- Best Practices?, válasz1, válasz2

800MB does not seem that big. Since all of your 6 tables have product
information it should not be very difficult to join them together and import
them into one Solr index. Again, all of this depends on what you're
searching on and what you want to display as results.

Have you taken a look at http://wiki.apache.org/solr/DataImportHandler ?
Although it is still in development, we've used it successfully to import
data from a large collection of tables joined together.

Két megoldás: csináljunk egy nézetet, ami minden adatottartalmaz és az legyen a Documentum illetve az egyes táblák legyenek dokumentum típusokká konvertálva, amik facet-ként működnek a kereséskor.

6 komment

A bejegyzés trackback címe:

https://kirunews.blog.hu/api/trackback/id/tr61418084

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

phr3ak 2008.10.27. 16:40:06

Szia

Ha van időd, leírnál pár szót magyarul, hogy mi az a solr?

Köszi.

kirunews 2008.10.27. 16:52:43

A Solr a Lucene felé épített webszolgáltatás. A Lucene pedig egy eredetileg Javaban írt kereső-könyvtár. Az Open Source kategóriában a legjobb. Nagyon sok szolgáltatás mögött fut Lucene. A Solr ezt azzal fejelte meg, hogy az egészet egy webszolgáltatás mögé tette és még adott hozzá egyéb kiegészítő funkciókat. Lényegében: le lehet indexelni vele fájlokat vagy egyéb adatforrásokat és ezeket egy elég kifinomult keresőnyelven lehet keresni. A kommunikáció http protokollon zajlik, a találati lista lehet XML, JSON, illetve olyan natív szövegformátumok, melyeket különféle programnyelvek (pl. Java, PHP, Ruby stb.) gond nélkül tudnak objektumokká formálni.
A Lucenehez képest a legnagyobb újítás a facettás találati lista, ami azt jelenti, hogy a találatokat különféle (az adatbázisban benne rejlő) szempontok alapján lehet csoportosítani, pl. egy áruháznál a különféle osztályok, árak, időpontok, alapanyagok képezheti a kategorizálás alapját. Ezen kívül megoldott az indexek replikálása vagy megosztása, így kényelmesen lehet skálázni az alkalmazást.

phr3ak 2008.10.28. 01:32:42

"A Solr a Lucene felé épített webszolgáltatás." felé vagy fölé? bocs ha hülyeséget kérdezek, de akkor ezzel úgy keresgélnek adatbázisban, hogy nem a php osztogatja az sql parancsokat az adatbázis szervernek hanem közvetlen a webszerver (apache) csinálja ezt?

kirunews 2008.10.28. 08:49:18

Nincs SQL, teljesen más az index felépítése. A Lucene nem egy relációs adatbáziskezelő, hanem indexelő. Relációs adatkezelőre is rá lehet húzni a Lucene-t, de ez egy hosszabb kifejtést érdemelne, ha érdekel, nézz körül a Hibernate háza táján, a Manning kiadó erről egy vastag könyvet is jelentetett meg (Hibernate Search in Action - manning.com/bernard/).
Ja és nem is Apache, hanem egy servlet konténer van, ami alapértelmezésben a Jetty, de lehet Tomcat, JBoss és bármi más is. A servlet konténert viszont könnyen lehet Apache mögé rejteni.
De a lényeg az, amit írsz: keresőkérdéseket kell küldeni a webszervernek (az adatmódosításokat POST-tal, a lekérdezéseket GET-tel), ami lekérdezi az adatokat, összegyűjti az eredményt és automatikusan küldi az XML/JSON/serializált PHP stb. választ.
Ha bővebben érdekel a Solr, itt nézz körül:

* lucene.apache.org/solr/
* wiki.apache.org/solr/
* lucene.apache.org/solr/tutorial.html
* www.ibm.com/developerworks/java/library/j-solr1/
* www.ibm.com/developerworks/java/library/j-solr2/
* manning.com/ingersoll/ - 3. fejezet

phr3ak 2008.10.29. 18:02:08

sajnos nekem ez már "magas". csak úgy általánosságban érdekel mire jó, mikor érdemes alkalmazni. szeretnék valamit kifejlesztetni, amiben van faceted search és talán drupal alapú lenne. valahogy így találtam ide. mekkora adatbázisnál lehet érdemes ezt használni? Te mit fejlesztessz amihez használod?

kirunews 2008.10.29. 18:33:27

Én is használom Drupalban, könyvtári katalógus fejlesztésére (extensiblecatalog.org) + feljesztek keresőgépeket, amiben a Lucene-t haszálom. A Drupal egyik mellékprojectje az Ubercart nevű e-bolt, ebben van facettás keresés.
A Drupalhoz van egy apachesolr modul, ami Solr alapúvá alakítja a keresést (szeged2008.drupalcon.org/files/robert-douglass-search_.pdf és www.archive.org/details/drupal_search).
Én szerintem bármekkora méretnél hasznos a keresés, mert a MySQL vagy PostgreSQL a szöveges keresésben nem túl erős (ld. szóhatárok problémája, illetve teljesítmény-problémák), viszont a Lucene családnak nagyon jó keresőnyelve van.
A facettás keresés olyan esetben jó, ahol olyan mezőid vannak, amelyek minden rekordban megtalálhatóak. Ilyenek például az áru-, könyv-, bélyeg, szerszám- stb. katalógusok. Ha az adataid olyanok, hogy nincsenek egységes mezők, akkor nem lesz látványos a facetták bevonása.