Erweiterung: BlueSpiceExtendedSearch
Ü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]