Umfassende Anleitung zur TYPO3 Solr-Suche: Serie 3

Willkommen zur Suchserie 3! Sind Sie auf der Suche nach einer Apache TYPO3 Solr Erweiterung? Dieser Blog hilft Ihnen vom Anfänger- bis zum Fortgeschrittenen-Level bei der Suche nach einer Apache TYPO3 Solr-Erweiterung.

Umfassende Anleitung zur TYPO3 Solr-Suche: Serie 3

FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.

Willkommen zur Suchserie 3! Sind Sie auf der Suche nach einer Apache TYPO3 Solr Erweiterung? Dieser Blog hilft Ihnen vom Anfänger- bis zum Fortgeschrittenen-Level bei der Suche nach einer Apache TYPO3 Solr-Lösung.

Apache Solr TYPO3 ist der letzte Blog in der TYPO3-Suchreihe, die mit meiner bevorzugten Suchlösung TYPO3 Solr Extension Search endet. Verglichen mit EXT:solr, anderen TYPO3-Sucherweiterungen wie EXT:indexed_search & EXT:ke_search, sind sie wie eine Blackbox. TYPO3 Solr ist die einzige Suchlösung, die auf intelligente Weise Ergebnisse mit perfekter Indizierung und Priorität für Ihre Website-Besucher liefert.

TYPO3-Suchreihen

Laut unserem letzten #T3POLL zum Thema "Beste TYPO3 Suchlösung für KMU" stimmten die meisten Leute für die Apache TYPO3 Solr-Erweiterung.

Apache Solr (Searching On Lucene) ist eine kostenlose Open-Source-Suchmaschine, die auf der Apache-Lucene-Bibliothek basiert.

Solr ist ein eigenständiger Enterprise-Suchserver mit einer REST-ähnlichen API.

Sie können Dokumente (als "Indizierung" bezeichnet) über JSON, XML, CSV oder binär über HTTP eingeben. Sie fragen ihn über HTTP GET ab und erhalten JSON-, XML-, CSV- oder binäre Ergebnisse.

Solr vs. ElastischeSuche

 Apache SolrElastischeSuche
NaturOffene QuelleNicht vollständig Open Source

Format

XML, CSV, JSON

Only JSON

Scherben spaltenMöglicherweiseUnmöglich

Documentation

Gut dokumentiertSchlecht dokumentiert

Eigenschaften von Apache TYPO3 Solr

  • Erweiterte Volltext-Suchfunktionen
  • Optimiert für hohes Verkehrsaufkommen
  • Standardbasierte offene Schnittstellen - XML, JSON und HTTP
  • Umfassende Verwaltungsschnittstellen
  • Einfache Überwachung
  • Hochgradig skalierbar und fehlertolerant
  • Flexibel und anpassungsfähig mit einfacher Konfiguration
  • Nahe-Echtzeit-Indizierung
  • Erweiterbare Plugin-Architektur

Architektur von Apache Solr

In diesem Artikel werde ich eine der beliebtesten TYPO3-Erweiterungen namens EXT:solr erklären.

  • Sucherweiterung für TYPO3
  • Basierend auf Apache Solr
  • Indizierung von Seiten und benutzerdefinierten Datensätzen
  • Leistungsstarkes Frontend (Facettierung, Auto-Suggest, Autokorrektur usw.)
  • Stichwörter & Synonyme 
  • OpenSource-Projekt https://github.com/TYPO3-Solr/ 
  • Offizielle Website: http://www.typo3-solr.com/en/home/ 
  • Finanziert und mit EB- und EAP-Partnern

Was ist die Architektur der Apache Solr TYPO3 Extension und wie funktioniert sie?

Welche Möglichkeiten gibt es, Apache Solr TYPO3 zu verwenden?

Das Gute an Apache Solr TYPO3 ist, dass Sie es auf verschiedene Arten installieren, konfigurieren und nutzen können, je nach Ihrem Budget und Ihren Bedürfnissen wie folgt.

Option #1 Selbst gehosteter Apache Solr TYPO3

Sowohl Apache Solr als auch TYPO3 sind OpenSource-Produkte, d.h. Sie können es entweder selbst gehostet oder Cloud-basiert einstellen.

Option #2 Von Webhostern beziehen

Wenn Sie kein Techniker sind, dann können Sie take setup it durch den Webhoster Jweiland nutzen. Jweiland, eines der ältesten TYPO3-Hostingunternehmen, bietet solches TYPO3 Solr Web Hosting an.

Option #3 Spezialisierter Apache Solr-Dienstanbieter

Wenn Sie Fachwissen zu Apache Solr suchen, dann wenden Sie sich an das Team DKD, das die TYPO3-Erweiterung Apache Solr entwickelt hat und pflegt.

Einführung in die TYPO3 Solr-Erweiterung (aka EXT:solr)

Apache Solr für TYPO3 ist der Enterprise Search Server, nach dem Sie gesucht haben, mit einzigartigen Funktionen wie Faceted Search oder Synonym-Support und unglaublich schnellen Antwortzeiten der Ergebnisse innerhalb von Millisekunden.

solr

Erweiterungsschlüssel

500000+

Herunterladen

Merkmale der Solr TYPO3-Erweiterung

  • Autosuggest
  • Verstärkung der Ergebnisse
  • Berücksichtigung von Benutzerzugriffsrechten
  • Erhöhung des Inhalts
  • Indizierung von Inhalten
  • Facettierte Suche
  • Analyse der Sprache
  • Mehrsprachige Handhabung
  • Leistung
  • Suchwort-Hervorhebung
  • Sortierung der Ergebnisse
  • Rechtschreibprüfung
  • Stoppwort-Unterstützung
  • Unterstützung von Synonymen

Wie verwendet und installiert man Apache Solr TYPO3?

Sie können Apache solr mit oder ohne Docker installieren und konfigurieren.

Option #1 Installieren-Solr.sh

Mit der Erweiterung wird ein Skript ausgeliefert und installiert, das für einen Entwicklungskontext verwendet werden kann.

chmod u+x ./Resources/Private/Install/install-solr.sh
./Resources/Private/Install/install-solr.sh -d /home/developer

Option #2 Docker verwenden

Sie können die Apache TYPO3 Solr-Erweiterung ganz einfach über dieses Docker-Bild installieren https://hub.docker.com/r/typo3solr/ext-solr/.

// Pull TYPO3 Apache Solr Docker Image
docker pull typo3solr/ext-solr:<EXT:Solr_Version>

// Start container with anonymous volume
docker run --name=typo3s-solr-server -d -p 8983:8983 typo3solr/ext-solr
docker inspect -f '{{ .Mounts }}' typo3s-solr-server

// Start container with volume on hosts path
mkdir .solrdata
docker volume create --name typo3s-solr-server-data --opt type=none --opt device=$PWD/.solrdata --opt o=bind
docker run --name=typo3s-solr-server --mount source=typo3s-solr-server-data,target=/var/solr -d -p 8983:8983 typo3solr/ext-solr

Testtauchgang zur Überprüfung von Solr Up & Runs

Bereitstellung der EXT:solr-Konfiguration in Apache Solr

Alles, was Sie tun müssen, ist, das configSet-Verzeichnis in Ihre vorbereitete solr-Installation zu kopieren und die Datei solr.xml zu ersetzen. Im Installationsprogramm machen wir das so:

// Copy default solr file
cp -r ${EXTENSION_ROOTPATH}/Resources/Private/Solr/configsets ${SOLR_INSTALL_DIR}/server/solr
cp ${EXTENSION_ROOTPATH}/Resources/Private/Solr/solr.xml ${SOLR_INSTALL_DIR}/server/solr/solr.xml

// Copy the default cores:
cp -r ${EXTENSION_ROOTPATH}/Resources/Private/Solr/cores ${SOLR_INSTALL_DIR}/server/solr

// Create a core with the rest API:
curl "http://localhost:8983/solr/admin/cores?action=CREATE&name=core_de&configSet=ext_solr_8_0_0&schema=german/schema.xml&dataDir=../../data/german"

Option #1 Von TER installieren

Gehen Sie zum Extension Manager, wählen Sie Get Extensions und suchen Sie nach "solr".

Option #2 Installation von TYPO3 Solr Github

git-Klon git@github.com:TYPO3-Solr/ext-solr.git solr

Option #3 Mit Composer installieren

Komponist benötigen apache-solr-for-typo3/solr

Lassen Sie uns die TYPO3-Extension solr schnell konfigurieren.

Schritt 1. Statisches TypoScript einbinden

  • Web > Vorlagen > Stamm > TypoScript-Bearbeitung > Statisches TypoScript einschließen
  • Suche - Basiskonfiguration (solr)
  • Suche - Standard-Stylesheet (solr)

Schritt 2. Integrieren Sie die Standard-Suchmarkierungen von TYPO3

// TypoScript Setup
page.10 {
    stdWrap.dataWrap = <!--TYPO3SEARCH_begin-->|<!--TYPO3SEARCH_end-->
}

// Or you can configure at your Fluid Template too

Schritt 3. Vor-Ort-Handling konfigurieren

  • Website-Verwaltung > Sites > Ihre Site bearbeiten
  • Zur Registerkarte Solr wechseln
  • Konfigurieren Sie alle für die TYPO3 Solr-Erweiterung verfügbaren Optionen
  • Zur Registerkarte "Sprachen" wechseln
  • Konfigurieren Sie "core_en" für Solr Core
# sites/yoursite/config.yaml

base: 'http://yoursite.com/'
baseVariants: {  }
errorHandling: {  }
languages:
  -
    title: English
    enabled: true
    base: /
    typo3Language: default
    locale: en_US.UTF-8
    iso-639-1: en
    navigationTitle: ''
    hreflang: en-US
    direction: ''
    flag: global
    solr_host_read: solr_node_1
    solr_core_read: core_en
    languageId: '0'
  -
    title: German
    enabled: true
    base: /de/
    typo3Language: de
    locale: de_DE.UTF-8
    iso-639-1: de
    navigationTitle: ''
    hreflang: de-DE
    direction: ''
    flag: global
    solr_host_read: solr_node_2
    solr_core_read: core_de
    languageId: '1'
rootPageId: 3
routes: {  }
solr_enabled_read: true
solr_path_read: /solr/
solr_port_read: 8983
solr_scheme_read: http
solr_use_write_connection: false

Erstmals Index TYPO3 Solr-Erweiterung

  • Gehen Sie zu Verwaltungswerkzeuge > Suche.
  • Klicken Sie auf Index-Warteschlange > Klicken Sie auf "Ausgewählte Inhalte zur Indexierung in eine Warteschlange stellen".

Automatisieren der TYPO3 Solr-Indizierung

  • Gehen Sie zu System > Zeitplaner
  • Neue Aufgabe hinzufügen
  • Wählen Sie "Index Queue Worker" aus der Klasse
  • Konfigurieren Sie andere Optionen des Schedulers

Schritt 1. Gehen Sie zu Web > Seite > Wählen Sie Ihre Suchseite

Schritt 2. Neues Inhaltselement einfügen > Plugins > Suche

Schritt 3. Wählen Sie "Suchen": Formular, Ergebnis, weitere Komponenten".

Schritt 4. Konfigurieren der Plugin-Optionen

Schritt 5. Erledigt! Gehen Sie zu Ihrer Frontend-Suchergebnisseite.

Konfigurieren Sie Ihre eigene TYPO3 Fluid-Vorlage für die TYPO3 solr Extension.

# TypoScript Setup
plugin.tx_solr {
    view {
        layoutRootPaths.10 = EXT:yourpath/Layouts/
        partialRootPaths.10 = EXT:yourpath/Partials/
        templateRootPaths.10 = EXT:yourpath/Templates/
    }
}

Die Extension bietet ein solch luxuriöses Feature im TYPO3 Backend; Sie können die verfügbaren Module des TYPO3 solr Search Backends wie folgt erkunden.

Modul 1. Anschlüsse Verbindungen

Module 2. Statistics

Module 3. Index Fields

Module 4. Stop Words

Module 5. Synonyms

Module 6. Index Queue

Module 7. Index Administration

Module 8. Search Index Inspector

1. Autosuggest in TYPO3 solr-Erweiterung anpassen

# TypoScript Setup
plugin.tx_solr.search {
    suggest = 1
    suggest {
        numberOfSuggestions = 10
        suggestField = spell
        showTopResults = 1
        numberOfTopResults = 5
    }
}

2. Häufiger Fehler "Suche ist derzeit nicht verfügbar"

  • Sollte Ihre solr-Verbindung konfiguriert werden
  • Sollte leer <!- TYPO3SEARCH_begin ->" und "<!- TYPO3SEARCH_end -> in Ihrer Vorlage

3. Erweiterte Gesichter Inhaltstyp

# TypoScript Setup
plugin.tx_solr.search.faceting.facets.[faceName].type = [typeName]

plugin.tx_solr.search {
    faceting = 1
    faceting {
        facets {
            contentType {
                label = Content Type
                field = type
            }
        }
    }
}

4. How to Index Custom Records in TYPO3 solr Extension?

# TypoScript Setup
plugin.tx_solr.index.queue {
    news = 1
    news {
        table = tx_news_domain_model_news
        fields {
            abstract = teaser
            author = author
            authorEmail_stringS = author_email
            title = title
            content = SOLR_CONTENT
            content {
                cObject = COA
                cObject {
                    10 = TEXT
                    10 {
                        field = bodytext
                        noTrimWrap = || |
                    }
                }
            }

            category_stringM = SOLR_RELATION
            category_stringM {
                localField = categories
                multiValue = 1
            }

            keywords = SOLR_MULTIVALUE
            keywords {
                field = keywords
            }

            tags_stringM = SOLR_RELATION
            tags_stringM {
                localField = tags
                multiValue = 1
            }

            url = TEXT
            url {
                typolink.parameter =  {$plugin.tx_news.settings.detailPid}
                typolink.additionalParams = &tx_news_pi1[controller]=News&
                    tx_news_pi1[action]=detail&tx_news_pi1[news]={field:uid}
                typolink.additionalParams.insertData = 1
                typolink.useCacheHash = 1
                typolink.returnLast = url
            }
        }

        attachments {
            fields = related_files
        }
    }
}

plugin.tx_solr.logging.indexing.queue.news = 1

Und stellen Sie sicher, dass Sie die Suche auf der Detailseite deaktivieren.

5. Wie konfiguriere ich das Suchergebnis pro Seite?

# TypoScript Setup
plugin.tx_solr {
    search {
        results {
            resultsPerPage = 6
            resultsPerPageSwitchOptions = 12, 18, 24
        }
    }
}

7. How can I configure sorting in TYPO3 solr?

# TypoScript Setup
plugin.tx_solr.search.sorting >
plugin.tx_solr.search {
        sorting = 1
        sorting {
                defaultOrder = asc

                options {
                        relevance {
                                field = relevance
                                label = Relevance
                        }

                        title {
                                field = sortTitle
                                label = Title
                        }
                }
        }
}

6. How can I exclude language in TYPO3 solr?

# TypoScript Setup
plugin.tx_solr.enabled = 0

[globalVar = GP:L = 0]
    plugin.tx_solr {
        enabled = 1
        solr.path = /solr/core_de/
    }
[globalVar = GP:L = 8|9]
    plugin.tx_solr {
        enabled = 1
        solr.path = /solr/core_en/
    }

8. Wie kann ich die AJAX-Suche in TYPO3 solr aktivieren?

Web > Vorlagen > Root > Statisch einschließen > "Suche - Ajaxifizierung der Suchergebnisse mit jQuery (solr)" hinzufügen

Die TYPO3-Gemeinschaft hat einige gute Erweiterungen für TYPO3 solr entwickelt, wie folgt.

1. TYPO3 solr Finden

Diese TYPO3-Erweiterung soll die Abfrage und Anzeige beliebiger solr-Indizes ermöglichen. Sie bietet die Möglichkeit, viele Aspekte der Abfrage - z.B. Abfragefelder, Facetten, Filterung durch TypoScript - zu konfigurieren und die Anzeige durch Fluid-Templates einzurichten. Teile für Standardanzeigefunktionen sowie mehrere Ansichtshilfen, die bei der Erstellung dieser Vorlagen helfen, sind in der Erweiterung enthalten.

2. Indizierung der solr-Datei

Diese Erweiterung gibt Ihnen die Möglichkeit, einzelne Dokumente mit solr zu indizieren. Apache Tika, der in der Lage ist, Metadaten aus ca. 1200 verschiedenen Dateitypen zu erkennen und zu extrahieren, werden für die Inhaltsanalyse von Dokumenten verwendet. Die Konfiguration für Tika kann direkt innerhalb der Erweiterung implementiert werden, die solr-Server-Funktionalität wird dann zum Parsen verwendet. Einzelne Dokumente können dem Suchindex für die Standardsprache oder eine beliebige Lokalisierung hinzugefügt werden; ebenso können Site-Roots ausgewählt werden, für die das Dokument zu stark indiziert ist.

3. DDEV Apache solr für TYPO3-System

Schneller Einstieg mit TYPO3 CMS und Apache solr.

ddev start
http://solr-ddev-site.ddev.site/
http://solr-ddev-site.ddev.site/typo3/

Übrigens können Sie Apache solr für DDEV auch über deren offizielle Richtlinie https://ddev.readthedocs.io/en/stable/users/extend/additional-services/

4. solr TYPO3-Plugin

Das solr-TYPO3-Plugin stellt das AccessFilterQParserPlugin zur Verfügung, ein org.apache.solr.search.QParserPlugin, das es ermöglicht, den Zugriff auf die von TYPO3 indizierten solr-Dokumente auf Dokumentebene einzuschränken.

5. EXT:solr_datei_indexer

Diese Erweiterung gibt Ihnen die Möglichkeit, einzelne Dokumente mit solr.

Apache Tika, das in der Lage ist, Metadaten aus ca. 1200 verschiedenen Dateitypen zu erkennen und zu extrahieren, wird für die Inhaltsanalyse von Dokumenten verwendet. Die Konfiguration für Tika kann direkt innerhalb der Erweiterung implementiert werden, die solr-Server-Funktionalität wird dann zum Parsen verwendet.

6. Apache Tika für TYPO3

Bietet Tika-Dienste für TYPO3 an, um die Sprache eines Dokuments zu erkennen, Metadaten zu extrahieren und Inhalte aus Dateien zu extrahieren. Kann entweder eine eigenständige ausführbare Tika-Datei oder Tika integriert in einen solr-Server mit einem aktivierten Extrahierungs-Request-Handler verwenden.

7. JW-Werkzeuge

Jwtools2 enthält einen Scheduler-Task für solr zum Indizieren mehrerer Seitenbäume und einen Job zum Ausführen von SQL-Abfragen. Darüber hinaus gibt es Einstellungen, um einige Funktionen in TYPO3 zu aktivieren, wie z.B. die Anzeige der Seiten-UID im Seitenbaum mit einem einfachen Klick im Extension-Manager.

Team DKD arbeitet hart an der Entwicklung und Wartung von TYPO3 EXT:solr, Sie können auf folgende Weise helfen und beitragen.

Danke für das Lesen eines etwas langen Blogs.

Ich hoffe, dass Sie wenig Wissen über die How-To Apache TYPO3 solr Sucherweiterung erhalten. Lassen Sie uns schnell wie folgt schließen.

  • Das Konzept, die Architektur und die Installation von Apache solr verstehen.
  • Praxis zur Installation und Konfiguration der großartigen TYPO3 Apache solr-Erweiterung EXT:solr.
  • Betrachten Sie alle verfügbaren TYPO3 solr-Backend-Module.
  • Testen Sie das Frontend-Plugin mit Formularen, Suchergebnissen, Filtern usw. und passen Sie es an. Ausführliche Informationen finden Sie in der offiziellen Dokumentation von EXT:solr, die fantastisch ist.
  • Versuchen Sie andere verfügbare TYPO3 solr-Erweiterungen von TER und TYPO3 solr Github.
  • Versuchen Sie andere verfügbare TYPO3 solr-Erweiterungen von TER und TYPO3 solr Github.
  • Um der Gemeinschaft etwas zurückzugeben, Hilfe durch einen Beitrag von Sponsoring für das EXT:solr-Projekt an großartige DKD-Leute.

Haben Sie Probleme bei der Installation, Konfiguration oder Verwendung von EXT:solr? Ich helfe Ihnen gerne weiter, bitte schreiben Sie unsere Fragen in das Kommentarfeld.

Haben Sie eine glückliche TYPO3 solr-Suche!

Would you prefer a Ready-made template(s) or a Custom one for TYPO3?

  • 200+Developed custom TYPO3 extensions
  • 90+ Score on TYPO3 SEO, speed & accessibility
  • 70+ Published free & premium TYPO3 extensions
  • 13+Years of TYPO3 experience
  • 5+Bestseller TYPO3 extensions (T3AI, Slider Revolution)
TYPO3 Extension Gig
Extension

Post a Comment

×
Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren
  • user
    Fritz Peukert 2020-08-07 um 12:37 pm
    Thanks for the deep insghts Sanjay. Solr is simple enough to implement in TYPO3 without too much fuss.