Difference between revisions of "Reference:BlueSpiceExtendedSearch"

(Tag: 2017 source edit)
(Tag: 2017 source edit)
 

Contents

1

Extension: BlueSpiceExtendedSearch

  • 1.1 Features
  • 1.2 Usage / Features
  • 1.3 Technical information
  • 1.4 More info
  • 1.5 Demo

  • 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

    v3 only

    -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]

    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.

    Usage / Features[edit | edit source]Configuration (configuration manager)[edit | edit source]
    • 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.

    Technical information[edit | edit source]

    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)

    [edit | edit source]

    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

    | edit

    This extension requires BlueSpiceFoundation and Elasticsearch.

    More info[edit | edit source]

    For detailed description and usage, visit our help page.

    Demo[edit | edit source]

    Test the search functionality in our BlueSpice Demo.

    • 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