Difference between revisions of "Reference:BlueSpiceExtendedSearch"

(Technical information)
(Tag: 2017 source edit)
 

Extension: BlueSpiceExtendedSearch


Overview
Description: Full-text search in articles and files, faceted search, fuzzy search, spellchecker and sorting as well as search-as-you-type and auto-complete functionality Elasticsearch search backend
State: stable Dependency: BlueSpice
Developer: HalloWelt License:

GPL-3.0-onlyProperty "BSExtensionInfoLicense" (as page type) with input value "</br>GPL-3.0-only" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.

Type: BlueSpice Category: Search and Navigation
Edition: BlueSpice free, BlueSpice pro, BlueSpice Farm, BlueSpice Cloud

Features

[edit source]

Description[edit | edit source]

ExtendedSearch is able to search for articles and attachments according to both title and content. The first hits are shown as you are typing the search term into the box. If you do not get a suitable hit straight away, the search results can be refined by using facets. BlueSpice has a superior, better organised search function than MediaWiki.

Usage / Features[edit | edit source]

Technical information[edit | edit source]

Configuration[edit | edit source]

Rights (permissions)[edit | edit source]

Requirements[edit | edit source]

ExtendedSearch requires BlueSpiceFoundation.

In order to activate the extended search, you will need an applications server like Apache running, otherwise MediaWiki's search function will be used. The search function is based on Apache Soir/Lucene.

User manual[edit | edit source]

For detailed description and usage please visit our user manual.

Try free our BlueSpice[edit | edit source]

BlueSpice Demo.

ExtendedSearch replaces the default MediaWiki search engine. It is based on ElasticSearch engine, and provides many improvements over the standard MediaWiki search both in terms of quality of indexed content and user interface.

  • Search titles.
  • Search the full content.
  • Search uploaded or linked files (Office documents and PDFs).
  • Search image data.
  • Search-as-you-type and auto-complete.
  • Ignore upper and lower case (case-insensitive).
  • Search with the operators AND, OR, NOT.
  • Search with wildcards.
  • Search for phrases.
  • Fuzzy search.
  • Search for sentence fragments.

Some aspects of this extension can be configured on Special:BlueSpiceConfigManager, under section "ExtendedSearch". Here wiki administrators can configure:

  • external file paths
  • layout of the autocomplete box
  • language filter
  • exclude patterns

Configuration (server)

For boosting by match percent, the following settings are available in the extension itself:
                        "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": ""
        },

                    


Description:

  • ESMatchPercentBoostFactor: The value here is multiplied by the the match percent and by the score of the document. Example: The search term is "Test". The search finds for example "Testpage" and - let's say - assigns a score of 20 to this result. Your search term matches 50 percent of the found name, so its match factor is 0.5. This factor is then multiplied by the value in this setting (by default 0.5), which gives the total boost factor of 0.25. The final score is calculated as "original score + (original score * boost factor)" => 20 + (20 * 0.25 ) = 20 + 5 = 25. This means that because your search term matches 50% of the result, it got boosted by the factor of 5.
  • ESMatchPercentTitleField: Field on which the match analysis is performed. Defaults to nothing, so whatever the search lookup sets. It can be set to "prefixed_text" to calculate match percent on the title with namespace prefix, for example, or to something like "basename" to calculate the match percent only on the page name, without the namespace prefix.

Technical Information[edit source]

This information applies to BlueSpice 3 . Technical details for BlueSpice cloud can differ in some cases.

Requirements[edit source]

  • MediaWiki: 1.31
  • BlueSpiceFoundation: 3.2

Integrates into[edit source]

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

Special pages[edit source]

  • BSSearchAdmin
  • BSSearchCenter

Permissions[edit source]

Name Description Role
extendedsearch-search-externalfile Search for external files accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-repofile Search for files accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-specialpage Search for special pages accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager
extendedsearch-search-wikipage Search for pages accountmanager, admin, author, bot, commenter, editor, maintenanceadmin, reader, reviewer, structuremanager

Configuration[edit source]

Name Value
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[edit source]

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

Hooks[edit source]


Attachments

Discussions