BlueSpiceExtendedSearch

Erweiterung: BlueSpiceExtendedSearch


Übersicht
Beschreibung: Elasticsearch Suche Backend
Status: stable Abhängigkeit: BlueSpice
Entwickler: HalloWelt Lizenz: GPL v3 only, GPL-3.0-only
Art: BlueSpice Suche und Navigation
Edition: BlueSpice free, BlueSpice pro, BlueSpice Farm, BlueSpice Cloud

Funktion

ExtendedSearch ersetzt die standardmäßige MediaWiki-Suchmaschine. Die Erweiterung basiert auf der ElasticSearch-Engine und bietet viele Verbesserungen gegenüber der standardmäßigen MediaWiki-Suche, sowohl hinsichtlich der Qualität des indizierten Inhalts als auch der Benutzeroberfläche.

  • Titel suchen
  • Durchsuchen des gesamten Inhalts
  • Volltextsuche nach hochgeladenen oder verknüpften Dateien (Office-Dokumente und PDFs)
  • Suche nach Bilddaten
  • Nach Eingabe suchen und automatisch vervollständigen
  • Groß- und Kleinschreibung wird nicht berücksichtigt
  • Suche mit den Operatoren AND, OR, NOT
  • Suche mit Platzhaltern
  • Suche nach Phrasen
  • Ungenaue Suche ("fuzzy search")
  • Satzbestandteile

Einige Aspekte dieser Erweiterung können in der Konfigurationsverwaltung im Abschnitt ExtendedSearch konfiguriert werden. Hier können Wiki-Administratoren folgende Einstellungen konfigurieren:

  • externe Dateipfade
  • Layout der Autocomplete-Box
  • Sprachfilter
  • Muster für Ausnahmen
Die Einstellung "boosting by match percent" kann folgendermaßen konfiguriert werden:
"ESMatchPercentBoostFactor": {
            "description": "How much to boost the result based on the percent of its title taken up by the search term. Set to 0 to disable",
            "public": false,
            "value": "0.5"
        },
        "ESMatchPercentTitleField": {
            "description": "Field on which to base the match percent boosting. If empty, default title field of the source will be used",
            "public": false,
            "value": ""
        },


Beschreibung:

  • ESMatchPercentBoostFactor: Der Wert hier wird mit dem Übereinstimmungsprozentsatz und der Punktzahl des Dokuments multipliziert. Beispiel: Der Suchbegriff lautet "Test". Die Suche findet zum Beispiel "Testseite" und weist diesem Ergebnis - sagen wir - eine Punktzahl von 20 zu. Der Suchbegriff entspricht 50 Prozent des gefundenen Namens, sodass der Übereinstimmungsfaktor 0,5 beträgt. Dieser Faktor wird dann mit dem Wert in dieser Einstellung multipliziert (standardmäßig 0,5), was den Gesamtverstärkungsfaktor von 0,25 ergibt. Die endgültige Punktzahl wird berechnet als "ursprüngliche Punktzahl + (ursprüngliche Punktzahl * Boost-Faktor)" => 20 + (20 * 0,25) = 20 + 5 = 25. Da nun der Suchbegriff 50% des Ergebnisses entspricht, wird das Ergebnis um den Faktor 5 aufgewertet.
  • ESMatchPercentTitleField: Feld, in dem die Übereinstimmungsanalyse durchgeführt wird. Der Standardwert ist leer, es wird also auf die Lookup-Einstellung der Suche zurückgegriffen. Der Wert kann auf "prefixed_text" gesetzt werden, um beispielsweise den Übereinstimmungsprozentsatz für den Titel mit dem Namensraum-Präfix zu berechnen, oder etwa auf "basename", um den Übereinstimmungsprozentsatz nur für den Seitennamen ohne das Namensraum-Präfix zu berechnen.

Technische Information[Quelltext bearbeiten]

Diese Informationen gelten für BlueSpice 3. Technische Informationen für BlueSpice cloud können im Einzelfall abweichen.

Voraussetzungen[Quelltext bearbeiten]

  • MediaWiki: 1.31
  • BlueSpiceFoundation: 3.2

Integriert in[Quelltext bearbeiten]

  • BlueSpiceArticleInfo
  • BlueSpiceExtendedSearch
  • BlueSpiceExtendedStatistics
  • BlueSpicePrivacy
  • BlueSpiceSimpleFarmer
  • BlueSpiceTagCloud
  • BlueSpiceVisualEditorConnector
  • VisualEditor

Spezialseiten[Quelltext bearbeiten]

  • BSSearchAdmin
  • BSSearchCenter

Rechte[Quelltext bearbeiten]

Name Beschreibung Rollen
extendedsearch-search-externalfile Nach externen Dateien suchen accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-repofile Nach Dateien suchen accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-specialpage Nach Spezialseiten suchen accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-wikipage Nach Seiten suchen accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager

Konfiguration[Quelltext bearbeiten]

Name Wert
ESAllowIndexingDocumentsWithoutContent true
ESAutoRecognizeSubpages true
ESAutoSetLangFilter false
ESBackendClass '\\BS\\ExtendedSearch\\Backend'
ESBackendHost '127.0.0.1'
ESBackendPort '9200'
ESBackendTransport 'http'
ESCompactAutocomplete false
ESDefaultSearchOperator 'AND'
ESEnableSearchHistoryTracking true
ESEnableTypeFilter true
ESExternalFilePaths array ( )
ESLookupModifierRegExPatterns array ( 0 => '[0-9]{2}\\-[0-9]{2}\\-[0-9]{4}', 1 => '[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}', 2 => '[0-9]{2}\\-[0-9]{4}\\-[0-9]{2}', 3 => '[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}', 4 => '[0-9]{4}\\/[0-9]{2}\\/[0-9]{2}', 5 => '[0-9]{2}\\/[0-9]{4}\\/[0-9]{2}', 6 => '[0-9]{2}\\.[0-9]{2}\\.[0-9]{4}', 7 => '[0-9]{4}\\.[0-9]{2}\\.[0-9]{2}', 8 => '[0-9]{2}\\.[0-9]{4}\\.[0-9]{2}', 9 => '[0-9]{2}\\\\[0-9]{2}\\\\[0-9]{4}', 10 => '[0-9]{4}\\\\[0-9]{2}\\\\[0-9]{2}', 11 => '[0-9]{2}\\\\[0-9]{4}\\\\[0-9]{2}', 12 => '[0-9]{1}\\-[0-9]{2}\\-[0-9]{4}', 13 => '[0-9]{4}\\-[0-9]{2}\\-[0-9]{1}', 14 => '[0-9]{1}\\-[0-9]{4}\\-[0-9]{2}', 15 => '[0-9]{4}\\-[0-9]{1}\\-[0-9]{2}', 16 => '[0-9]{2}\\-[0-9]{4}\\-[0-9]{1}', 17 => '[0-9]{2}\\-[0-9]{1}\\-[0-9]{4}', 18 => '[0-9]{1}\\/[0-9]{2}\\/[0-9]{4}', 19 => '[0-9]{4}\\/[0-9]{2}\\/[0-9]{1}', 20 => '[0-9]{1}\\/[0-9]{4}\\/[0-9]{2}', 21 => '[0-9]{4}\\/[0-9]{1}\\/[0-9]{2}', 22 => '[0-9]{2}\\/[0-9]{4}\\/[0-9]{1}', 23 => '[0-9]{2}\\/[0-9]{1}\\/[0-9]{4}', 24 => '[0-9]{1}\\.[0-9]{2}\\.[0-9]{4}', 25 => '[0-9]{4}\\.[0-9]{2}\\.[0-9]{1}', 26 => '[0-9]{1}\\.[0-9]{4}\\.[0-9]{2}', 27 => '[0-9]{4}\\.[0-9]{1}\\.[0-9]{2}', 28 => '[0-9]{2}\\.[0-9]{4}\\.[0-9]{1}', 29 => '[0-9]{2}\\.[0-9]{1}\\.[0-9]{4}', 30 => '[0-9]{1}\\\\[0-9]{2}\\\\[0-9]{4}', 31 => '[0-9]{4}\\\\[0-9]{2}\\\\[0-9]{1}', 32 => '[0-9]{1}\\\\[0-9]{4}\\\\[0-9]{2}', 33 => '[0-9]{4}\\\\[0-9]{1}\\\\[0-9]{2}', 34 => '[0-9]{2}\\\\[0-9]{4}\\\\[0-9]{1}', 35 => '[0-9]{2}\\\\[0-9]{1}\\\\[0-9]{4}', 36 => '[0-9]{2}\\-[0-9]{2}\\-[0-9]{2}', 37 => '[0-9]{2}\\/[0-9]{2}\\/[0-9]{2}', 38 => '[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}', 39 => '[0-9]{2}\\\\[0-9]{2}\\\\[0-9]{2}', 40 => '[0-9]{1}\\-[0-9]{1}\\-[0-9]{4}', 41 => '[0-9]{4}\\-[0-9]{1}\\-[0-9]{1}', 42 => '[0-9]{1}\\-[0-9]{4}\\-[0-9]{1}', 43 => '[0-9]{1}\\/[0-9]{1}\\/[0-9]{4}', 44 => '[0-9]{4}\\/[0-9]{1}\\/[0-9]{1}', 45 => '[0-9]{1}\\/[0-9]{4}\\/[0-9]{1}', 46 => '[0-9]{1}\\.[0-9]{1}\\.[0-9]{4}', 47 => '[0-9]{4}\\.[0-9]{1}\\.[0-9]{1}', 48 => '[0-9]{1}\\.[0-9]{4}\\.[0-9]{1}', 49 => '[0-9]{1}\\\\[0-9]{1}\\\\[0-9]{4}', 50 => '[0-9]{4}\\\\[0-9]{1}\\\\[0-9]{1}', 51 => '[0-9]{1}\\\\[0-9]{4}\\\\[0-9]{1}', 52 => '[0-9]{1}\\-[0-9]{1}\\-[0-9]{2}', 53 => '[0-9]{2}\\-[0-9]{1}\\-[0-9]{1}', 54 => '[0-9]{1}\\-[0-9]{2}\\-[0-9]{1}', 55 => '[0-9]{1}\\/[0-9]{1}\\/[0-9]{2}', 56 => '[0-9]{2}\\/[0-9]{1}\\/[0-9]{1}', 57 => '[0-9]{1}\\/[0-9]{2}\\/[0-9]{1}', 58 => '[0-9]{1}\\.[0-9]{1}\\.[0-9]{2}', 59 => '[0-9]{2}\\.[0-9]{1}\\.[0-9]{1}', 60 => '[0-9]{1}\\.[0-9]{2}\\.[0-9]{1}', 61 => '[0-9]{1}\\\\[0-9]{1}\\\\[0-9]{2}', 62 => '[0-9]{2}\\\\[0-9]{1}\\\\[0-9]{1}', 63 => '[0-9]{1}\\\\[0-9]{2}\\\\[0-9]{1}', 64 => '[0-9]{2}\\-[0-9]{4}', 65 => '[0-9]{2}\\/[0-9]{4}', 66 => '[0-9]{2}\\.[0-9]{4}', 67 => '[0-9]{2}\\\\[0-9]{4}', 68 => '[0-9]{4}\\-[0-9]{2}', 69 => '[0-9]{4}\\/[0-9]{2}', 70 => '[0-9]{4}\\.[0-9]{2}', 71 => '[0-9]{4}\\\\[0-9]{2}', 72 => '[0-9]{2}\\-[0-9]{2}', 73 => '[0-9]{2}\\/[0-9]{2}', 74 => '[0-9]{2}\\.[0-9]{2}', 75 => '[0-9]{2}\\\\[0-9]{2}', )
ESMatchPercentBoostFactor '0.5'
ESMatchPercentTitleField ''
ESOfferOperatorSuggestion true
ESRecentBoostFactor '0.5'
ESSearchCenterDefaultFilters array ( 0 => 'namespace_text', 1 => 'categories', )
ESSearchInRawWikitext true
ESSourceConfig array ( 'wikipage' => array ( 'skip_namespaces' => array ( 0 => 8, 1 => 9, ), ), 'repofile' => array ( 'extension_blacklist' => array ( 0 => 'mp4', ), 'max_size' => 20000000, ), 'externalfile' => array ( 'extension_blacklist' => array ( 0 => 'mp4', ), 'max_size' => 20000000, ), )
ESWildcardingOperators array ( 0 => '+', 1 => '|', 2 => '*', 3 => '(', 4 => ')', 5 => '~', )
ESWildcardingSeparators array ( 0 => ',', 1 => '.', 2 => ';', 3 => '-', 4 => '_', )
ExtendedSearchExternalFilePathsExcludes array ( )
TagSearchSearchFieldTemplatePath '/resources/templates'

API Modules[Quelltext bearbeiten]

  • bs-extendedsearch-autocomplete
  • bs-extendedsearch-query
  • bs-extendedsearch-resultrelevance
  • bs-extendedsearch-stats
  • bs-extendedsearch-triggerupdate
  • bs-extendedsearch-type-store

Hooks[Quelltext bearbeiten]


Anhänge

Diskussionen