This document provides an overview of new features and changes in Apache Solr for TYPO3 in 2018. Key highlights include improved user experience in EXT:solr 8.0.0 with updated frontend markup, new suggest and facet features. Other extensions like EXT:solrfluidgrouping and EXT:solrmlt were updated to enhance related content and grouping capabilities. Future plans include additional extensions, TYPO3 9 compatibility, and migrating to the Solarium API for improved Solr integration.
2. EXT:solr short overview
Search Extension for TYPO3
Started in 2009 (pi based) by Ingo Renner
Code hosted on github: https://github.com/TYPO3-Solr/ext-solr
Financed by dkd and partners
2
3. About me
3
Timo Hund
34 years old
@TYPO3 since: 2003
@Apache Solr since: 2009
@dkd since: 2015
Email: timo.hund@dkd.de
Xing: https://www.xing.com/profile/Timo_Hund2
Github: https://github.com/timohund
Twitter: @TimoHund
8. EXT:solr 8.0.0 / Focus UX
• UX
• Bootstrap markup as default
• Faster frontend implementation
• Mobile ready out of the box
8
9. EXT:solr 8.0.0 / Focus UX
• UX
• New Suggest
• With top results
• Grouping supported
9
10. JSON faceting api, for options
10
• Extended API in Apache Solr for faceting
• Add’s a feature called „metrics“ for options facets (e.g. min(price),
max(created) and attach it to the option
Example:
plugin.tx_solr.search.faceting.facets.type.metrics {
newest = max(created)
oldest = min(created)
}
<span>
newest: {option.metrics.newest -> f:format.date(format: 'Y-m-d H:i:s')}
</span>
<span>
oldest: {option.metrics.oldest -> f:format.date(format: 'Y-m-d H:i:s')}
</span>
11. EXT:solr 8.0.0 / Focus UX
• UX
• More default facet partials
• Grouped facet options by prefix (e.g. first letter)
• Filter large options lists by query
• Using Bootstrap elements
11
12. EXT:solr 8.0.0 / Focus UX
• UX
• Improved „index inspector“
• Shows details for solr documents on a page
• Allows to reQueue single elements
12
14. SOLR_CLASSIFICATION
14
• Allows to fill solr fields during indexing with matching patterns
plugin.tx_solr.index.queue.pages.businessarea_stringM = SOLR_CLASSIFICATION
plugin.tx_solr.index.queue.pages.businessarea_stringM {
field = __solr_content
classes {
automotive {
patterns = car,jeep,SUV
class = automotive
}
pharma {
patterns = pharma,doc,medicine
class = pharma
}
}
}
15. Phrase Support
15
• Allows to match/boost documents where multiple search words occur in close
proximity.
• Needs:
• A list of fields that are used for the phrase search
• A slop value that configures the allowed distance of the words
• Concept of bigram and trigram phrases is supported for 2 or 3 word phrases
• See also:
http://blog.thedigitalgroup.com/vijaym/understanding-phrasequery-and-slop-
in-solr/
17. Tie support
17
• Allows to control impact of low scoring fields
• Value between 0.0 and 1.0
• Tie == 0.01 => Only fields with high score will matter
• Tie == 0.99 => Low scoring fields have nearly same impact as low scoring
• See also:
https://solr.pl/en/2012/02/06/what-can-we-use-dismax-tie-parameter-for/
19. Doctrine ready
19
• All queries have been replaced with doctrine call’s
• Queries have been moved to repositories when possible
• Tests have been added
20. On the way to TYPO3 9
20
• TYPO3 9 will not be officially support in EXT:solr 8, but…
• We will be as close as possible
• Allready fixed a lot of issues
• e.g: pages_language_overlay removal
• Required changes for FLUID https://review.typo3.org/#/c/54068/
• Replace usage GeneralUtility::getUserObj with GeneralUtility::makeInstance
21. QueryBuilder with fluent API
21
• Query class has been splitted into Query and QueryBuilder (Builder pattern)
• Query: value object without TYPO3 related logic to build Solr Query
Parameters
• QueryBuilder: builder class, responsible to build an initialized Query object
with TYPO3 related logic applied(Site filter, premissions, …)
• Used in EXT:solr when queries are build. Example:
/* @var $query Query */
return $this->newSearchQuery($rawQuery)
->useResultsPerPage($resultsPerPage)
->useReturnFieldsFromTypoScript()
->useQueryFieldsFromTypoScript()
->useInitialQueryFromTypoScript()
->useFiltersFromTypoScript()
->useFacetingFromTypoScript()
->useVariantsFromTypoScript()
->useGroupingFromTypoScript()
->useHighlightingFromTypoScript()
->usePhraseFieldsFromTypoScript()
->useBigramPhraseFieldsFromTypoScript()
->useTrigramPhraseFieldsFromTypoScript()
->getQuery();
25. EXT:solr 8.1.0
• API support for new addon’s solrconsole and solrdebugtools
• Allow to configure persistent custom request arguments
• TYPO3 9 compatibility changes
• Tons of bugfixes ;)
25
26. EXT:solrdebugtools 1.0.0
• Score of a document
• With detailed field impact
• Raw explain for more information
• Allows to play with scoring params (tie, phrasefields, mm,…)
26
27. EXT:solrconsole 1.0.0
• Manage EXT:solr from the commandline:
• solr:connection:get
• solr:connection:update
• solr:index:delete
• solr:index:get
• solr:queue:delete
• solr:queue:get
• solr:queue:index
• solr:queue:initialize
• solr:queue:progress
• solr:queue:reset-errors
27
Special thanks to:
Benni Mack
Jens Jacobsen
28. EXT:solrmlt 2.0.0
• Show related content on a page
• Now uses FLUID rendering
• 8 LTS compatibility
28
Special thanks to:
33. Apache Solr 7.4 Support
• EXT:solr 9 ships configuration
• Default schema adapted for Solr 7.4
33
34. Migration to solarium api
• Advantages:
• Better maintained
• Better tested
• Multiple Http Backends (Guzzle, Curl, Zend, …)
• By now we use:
• Solarium queries
• Solarium http Adapters
• In the long run
• Solarium domain classes when possible
• Extend solarium with
(synonym, admin features)
• Used in other frameworks and cms
34
35. Differ read/write connections
• Allows to use e.g. …
• …master slave replication
• …index into shadow core and search in live core
35
36. Addon’s
• All add-on’s are compatible with EXT:solr 9 and solarium
• EXT:tika 4.0.0 - Solarium compatiblity
• EXT:solrfal 6.0.0 - Solarium compatibility
• EXT:solrfluidgrouping 2.0.0
• EXT:solrmlt 3.0.0 - Solarium compatibility
• EXT:solrconsole 2.0.0 - Solarium compatibility & solrfal support
• EXT:solrdebugtools 1.1.0 - Solarium compatibility
36
38. Q4: Focus TYPO3 9 LTS
• Support TYPO3 9 LTS
• Use middleware stacks
• Adaptions for url handling
• Keep TYPO3 8 Support
38
39. Thanks!
39
• To all EB partners !
• Thanks to all contributors!
All previous partners can be found here: http://www.typo3-solr.com/en/sponsors/our-sponsors/
42. EB Partner
42
• 4eyes GmbH
• Albervanderveen
• Agentur Frontal AG
• AlrweNWR Internet BV
• Amedick & Sommer
• AUSY SA
• BARDEHLE PAGENBERG Partnerschaft mbB
• Bibus AG
• Bitmotion GmbH
• bgm Websolutions GmbH
• bplusd interactive GmbH
• Cast Iron Coding, Inc
• Centre de gestion de la Fonction
Publique Territoriale du Nord (Siège)
• Citkomm services GmbH
• Consulting Piezunka und Schamoni -
Information Technologies GmbH
• Cobytes GmbH
• Columbus Interactive GmbH
• Cows Online GmbH
• creativ clicks GmbH
• DACHCOM.DIGITAL AG
• Deutsches Literaturarchiv Marbach
• food media Frank Wörner
• Fachhochschule für öffentliche
Verwaltung NRW
• FTI Touristik GmbH
• GAYA - La Nouvelle Agence
• Hirsch & Wölfl GmbH
• Hochschule Furtwangen
• ijuice Agentur GmbH
• Image Transfer GmbH
• JUNGMUT Communications GmbH
• Kreis Coesfeld
• LINGNER CONSULTING NEW MEDIA GMBH
• LOUIS INTERNET GmbH
• L.N. Schaffrath DigitalMedien GmbH
• MEDIA::ESSENZ
• Mehr Demokratie e.V.
• mehrwert intermediale kommunikation
GmbH
• Mercedes AMG GmbH
• Petz & Co
• pietzpluswild GmbH
• pixelcreation GmbH
• plan.net
• Pluswerk AG
• POCO Service AG
• polargold GmbH
• Pottkinder GmbH
• PROVITEX GmbH
• Publicis Pixelpark
• punkt.de GmbH
• PROFILE MEDIA GmbH
• Q3i GmbH & Co. KG
• ressourcenmangel an der panke GmbH
• rocket-media GmbH & Co KG
• Roza Sancken
• Rundfunk und Telekom Regulierungs-
GmbH
• Site'nGo
• SIWA Online GmbH
• snowflake productions gmbh
• Studio B12 GmbH
• systime
• SYZYGY Deutschland GmbH
• Talleux & Zöllner GbR
• TOUMORO
• THE BRETTINGHAMS GmbH
• TWT Interactive GmbH
• T-Systems Multimedia Solutions GmbH
• Typoheads GmbH
• Q3i GmbH
• Ueberbit GmbH
• WACON Internet GmbH
• zdreicon GmbH
• zimmer7 GmbH
43. Excited and what to learn more?
43
Join the next Apache Solr
for TYPO3 Training or book an
exclusive training for your
company!
Get a 5%
camp discount
when you book a workshop in
the next 10 days!
44. Do you want to support
Apache Solr for TYPO3?
44
Become an EB
partner and
sponsor the development/
maintenance & support of
Apache Solr for TYPO3