Zuletzt bearbeitet vor 5 Monaten
von Margit Link-Rodrigue

BlueSpiceExtendedSearch

Version vom 17. Juni 2024, 16:05 Uhr von Margit Link-Rodrigue (Diskussion | Beiträge) (Textersetzung - „BlueSpice Cloud“ durch „BlueSpice cloud“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Erweiterung: BlueSpiceExtendedSearch

alle Erweiterungen

Übersicht
Beschreibung:

Elasticsearch Suche Backend

Status: stable Abhängigkeit: BlueSpice
Entwickler: HalloWelt Lizenz: GPL-3.0-only
Art: BlueSpice Kategorie: Suche und Navigation
Edition: BlueSpice free, BlueSpice pro, BlueSpice farm, BlueSpice cloud Version:

Funktion

ExtendedSearch ersetzt die standardmäßige MediaWiki-Suchmaschine. Die Erweiterung basiert auf OpenSearch (bis BlueSpice 4.3: Elasticsearch) 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


Boosting (Serverkonfiguration)

Für das Boosten nach Übereinstimmungsprozentsatz sind die folgenden Einstellungen in der Erweiterung selbst verfügbar:

"ESRecentBoostFactor": {
"description": "Value must be between 0 and 1. If set to 1, very recent pages will almost double their score",
"public": false,
"value": "0.5"
},
"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": ""
}


Systemweites Boosting

Standardmäßig beeinflusst BlueSpice den Score, nachdem die Ergebnisse abgerufen wurden, auf folgende Weise:

  • Erstellungsdatum / letzte Bearbeitung: Bei sonst gleichen Bedingungen werden neuere bearbeitete Seiten höher eingestuft. Die Stärke des Einflusses kann mit '$bsgESRecentBoostFactor' angepasst werden (Standard 0,5). Der Wert dafür kann eine Zahl zwischen 0 und 1 sein. 0 bedeutet, dass die Aktualität der Seite die Punktzahl nicht ändert, und 1 bedeutet, dass sehr aktuelle Änderungen ihre Punktzahl möglicherweise verdoppeln.
  • Prozent des vom Suchbegriff eingenommenen Seitentitels: Ergebnisse, die mit einem größeren Teil des Titels übereinstimmen, erhalten einen zusätzlichen Score-Boost. Wenn der Suchbegriff beispielsweise „foo“ lautet, hat eine Seite namens „Foo Bar“ einen guten Übereinstimmungsprozentsatz (50 %), da der Suchbegriff 50 % des vollständigen Seitennamens einnimmt. Die Seite „Foo quick brown fox jumps“ erhält einen geringeren prozentualen Boost, da der Suchbegriff nur einen kleinen Prozentsatz des gesamten Titels einnimmt. Dies wird durch '$bsgESMatchPercentBoostFactor' gesteuert (Standard 0,5). Wie bei der vorherigen Einstellung deaktiviert ein Wert von 0 diese Art von Boosting effektiv, während 1 die Punktzahl für exakte Übereinstimmungen verdoppeln würde (in unserem Beispiel würde die Seite „Foo Bar“ 50 % zu ihrer ursprünglichen Punktzahl hinzufügen).
  • Wikipages werden immer etwas stärker geboostet als andere Ergebnistypen (repofile, socialentity, …)
  • Innerhalb des Typs „Wikipage“ werden Seiten in Inhaltsnamensräumen und insbesondere Seiten in NS_MAIN zusätzlich geboostet. Diskussionsseiten erhalten keinen Boost.

Zusätzliche Konfiguration möglich für:

  • ESMatchPercentTitleField: Feld, auf dem die Übereinstimmungsanalyse durchgeführt wird. Standardmäßig nichts, also unabhängig von der Sucheinstellung. Er kann beispielsweise auf „prefixed_text“ gesetzt werden, um den Übereinstimmungsprozentsatz für den Titel mit Namensraum-Präfix zu berechnen, oder auf etwas wie „basename“, um den Übereinstimmungsprozentsatz nur für den Seitennamen ohne das Namensraum-Präfix zu berechnen.


Benutzerbasiertes Boosting

Benutzer können individuell anpassen, wie Seiten gerankt werden. Solche Anpassungen werden nur auf Suchanfragen dieses Benutzers angewendet und wirken sich nicht auf das globale Suchranking aus.

  • Bevorzugter Namensraum: Auf der Seite Spezial:Einstellungen (Reiter "Erweiterte Suche") kann ein Benutzer Namensräume priorisieren, sodass Seiten in diesen Namensräumen etwas höher gerankt werden.
  • Favorisierte Ergebnisse: In der Liste der Suchergebnisse hat jedes Ergebnis einen kleinen "Stern"-Button in der oberen rechten Ecke. Wenn Sie darauf klicken, wird ein Ergebnis für den Benutzer, der darauf geklickt hat, als „Favorit“ markiert. Dies bedeutet, dass dieses bestimmte Ergebnis stärker als andere Ergebnisse geboostet wird.

Technische Information[Bearbeiten | Quelltext bearbeiten]

Voraussetzungen[Bearbeiten | Quelltext bearbeiten]

  • MediaWiki: 1.39.0
  • BlueSpiceFoundation: 4.3

Integriert in[Bearbeiten | Quelltext bearbeiten]

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

Spezialseiten[Bearbeiten | Quelltext bearbeiten]

  • BSSearchAdmin
  • BSSearchCenter

Rechte[Bearbeiten | 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[Bearbeiten | Quelltext bearbeiten]

Name Wert
ESAllowIndexingDocumentsWithoutContent true
ESAutoRecognizeSubpages true
ESAutoSetLangFilter false
ESBackendClass '\\BS\\ExtendedSearch\\Backend'
ESBackendHost '127.0.0.1'
ESBackendPassword ''
ESBackendPort '9200'
ESBackendTransport 'https'
ESBackendUsername ''
ESCompactAutocomplete true
ESDefaultSearchOperator 'AND'
ESEnableSearchHistoryTracking true
ESEnableTypeFilter true
ESExternalFilePaths array ( )
ESIndexPrefix ''
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
ESSharedUploadsIndexPrefix false
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, ), )
ESSubpageMasterFilterPatterns array ( )
ESSubpageMasterFilterUseRootOnly true
ESUseSharedUploads false
ESWildcardingOperators array ( 0 => '+', 1 => '|', 2 => '*', 3 => '(', 4 => ')', 5 => '~', )
ESWildcardingSeparators array ( 0 => ',', 1 => '.', 2 => ';', 3 => '-', 4 => '_', )
ExtendedSearchExternalFilePathsExcludes array ( )
TagSearchSearchFieldTemplatePath '/resources/templates'

API Modules[Bearbeiten | Quelltext bearbeiten]

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

Hooks[Bearbeiten | Quelltext bearbeiten]