Difference between revisions of "Reference:BlueSpiceExtendedSearch"

m (Text replacement - "For detailed description and usage please visit our" to "For detailed description and usage, visit our")
(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

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]

Description[edit | edit source]

BlueSpiceExtendedSearch replaces

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]

Technical information[edit | edit source]

Configuration[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.
  • Sentence components.
    • Search for sentence fragments.

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

    • Number of suggestions matching search term.
    • Default search method - fulltext or title.
    • Location of external directories to index, eg: D:\MyDirectory.
    • External URL to index from.
    • Number of highlight snippets.
    • File extensions to index.
    • Types of files/pages to index.
    • Number of results on special page.
    • Namespaces for "Similar pages".
    • Number of facets.
    • Various search preferences.
    • Solr core instance - name of Solr core holding wiki index.
    • Ping time (in seconds).
    • Sorl URL - URL to the Solr service - must be accessible to the wiki.
    Rights (permissions)[edit | edit source]

    Users are required to have "extendedsearch-viewspecialpage" permission in order to see search result special page.

    Requirements[edit | edit source]

    This extension requires BlueSpiceFoundation.

    ExtendedSearch requires an external service - Solr which acts as a backend for the search. To set up this service, software like Tomcat is needed to run Solr.

    User manual[edit | edit source]

    For detailed description and usage, visit our user manual.

    Try free our BlueSpice[edit | edit source]

    BlueSpice Demo.

    • 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