Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Solr Fusion Schema Mapping

595 Aufrufe

Veröffentlicht am

In dieser Präsentation wird erläutert wie Mappings für Solr Fusion zu erstellen sind und wie diese funktionieren.
http://www.outermedia.de

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Solr Fusion Schema Mapping

  1. 1. Ziel: vufind 1.X ist mit mehreren Solr-Servern verwendbar • Solr(fusion) Query: highlight queries, filter queries, query • Solr Response: highlights, documents, facets • https://github.com/outermedia/solr-fusion/blob/master/src/main/doc/user- guide.md#supported-solr-features • • • • • •
  2. 2. zu verarbeitende Daten werden in einheitliches internes Format überführt • Vorteil: es können einheitliche Regeln geschrieben werden • Vorteil: eine Regel kann auf alle zu verarbeitenden Daten angewandt werden das interne Format ähnelt einem Solr-Dokument: Ein Dokument besteht aus Feldern ein Feld besteht aus einem Namen und einer Liste von Werten
  3. 3. • • • •
  4. 4. Eine <om:change> Regel deklariert den Ziel-Feldnamen und Ziel-Wert. Nur die textuell letzte change-Regel zum gleichen Quell-Feld wird ausgewertet. ACHTUNG: Regel-Namen mit "*" werden immer ausgeführt. • Reihenfolge von <om:change> Regeln ist wichtig • Mehrfach Transformationsfkt. innerhalb eines <om:change> anwendbar.
  5. 5. javascript - generisch beanshell - generisch regexp - Suchen und Ersetzen static-table - Konstanten abbilden static-value - Wert setzen merge-multi-value - Multi value Field zu Single value filter-id - Solrfusion-Id zu Solr-Id field-merger - Felder zusammenfassen normalizer - Zeichenketten normalisieren set-doc-count - Facetten Dokument-Anzahl setzen
  6. 6. logs/log4j.log log4j.rootCategory=TRACE, Default, File … log4j.appender.File.Threshold=TRACE UBL-Vufind 1.X sendet bei einer Suche mit 20 Treffern 42 Solrfusion- Anfragen!
  7. 7. logs/log4j.log • • •
  8. 8. • • • • • • •
  9. 9. <om:field fusion-name="solr-server"> <om:add> <om:response target="facet" type="static-value"> <value>UBL4</value> </om:response> <om:response target="facet" type="set-doc-count"> <total-found-nr /> </om:response> </om:add> <!-- post-processors handle this synthetic field --> <om:drop><om:query /></om:drop> </om:field>
  10. 10. <om:field name="s7" fusion-name="text7"> <om:change> <om:response type="merge-multi-value"> <range>2</range> <separator>,</separator> </om:response> </om:change> </om:field>
  11. 11. <om:field name="id" fusion-name="id"> <om:change> <om:query type="filter-id" /> </om:change> </om:field>
  12. 12. <om:field fusion-name="fulltext"> <om:add> <om:response type="field-merger"> <separator>;</separator> <field>content</field> <field>description</field> </om:response> </om:add> </om:field>
  13. 13. <om:field name="title_sort" fusion-name="title_sort"> <om:change> <om:response type="normalizer"> <to-lower-case>true</to-lower-case> <start-chars-to-del>  ."-[(</...> </om:response> </om:change> </om:field>
  14. 14. <om:post-processor> <om:query type="send-if-fq-eq"> <fusion-name>solr-server</fusion-name> <fusion-value>UBL</fusion-value> </om:query> </om:post-processor>
  15. 15. <om:post-processor> <om:query type="filter-empty-fq"> <ignore-fusion-name>solr-server</...> <ignore-fusion-name>authorized_mode</...> </om:query> </om:post-processor>
  16. 16. <om:field name="Titel1" fusion-name="title"> <om:add level="inside"><om:query/></om:add> </om:field>
  17. 17. <om:field name=„not_used" fusion-name=„not_used"> <om:add level="outside"> <om:query type="static-value"> <value>+t11:"text"~2^75</value> </om:query> </om:add> </om:field>
  18. 18. <entry> <value>eBook</value> <fusion-value>Electronic Resources</...> </entry> <entry> <value>eJournal</value> <fusion-value>Electronic Resources</...> </entry>...
  19. 19. • • • • •

×