Enonic Market Enonic Market
Explorer icon


Enterprise search application for collecting, and searching across data from different sources


  • Trying a search in explorer admin

Explorer enables indexing of custom data sources (aka collections). Each collection stores it’s data in separate XP repos.

Back office

Explorer admin interface lets search operators control the collections, manage fields, synonym lists and exposes the data through “interfaces”.

Custom user interfaces

Search result can be delivered through custom front-ends of any kind and design. Visit https://helsebiblioteket.no/sok for a live example.


Explorer is more than just an app, it is a platform. You may extend it with custom collectors (apps that collect data), with custom configuration forms. Starters and examples of how how to build custom collectors are available.


Explorer provides an API that can be used directly by other XP applications. This also enables you to create custom search interfaces, or even search API’s that fit your requirements.

Freemium licensing

Explorer is licensed under a “freemium model”. This means that everyone can use Explorer with basic functionality. Subscription customers can enjoy all functionality as well as unlimited numbers of collections and interfaces.


  1. 1.5.0

    • Make it possible to select language per collection
    • Support stemmed queries
    • Add API-key administration (http.header.Authorization: Explorer-Api-Key XXXX)
    • Schema validation (Min/max occurrences, valueType)
    • Add CRUD Document REST API (webapp/api/v1/collections/<collectionName>/documents)
    • Use distributed tasks
    • Replace lib-cron with the internal scheduler
    • Data migration on first startup based on model number
    • Replace collector register with collectors.json
    • Compatibility:
      • 7.7.2
  2. 1.4.0

    • Make it possible to link a thesaurus to none, any or specific language(s)
    • Upgrade to lib-explorer-3.8.0
    • * getSynonyms will now filter on languages
    • * thesaurus/query({thesauri}) make it possible to filter on thesaurus name(s)
    • Upgrade to lib-explorer-3.7.0
    • * Added languages field to thesaurus
    • * getFields({fields}) make it possible to only get some fields
    • * getFieldValues({field}) field can now be an array of fields
    • * hasValue(field, values) now applies forceArray to its second parameter
    • Upgrade to lib-explorer-3.6.0
    • * Generate href for hit tags
    • * Require Enonic XP 7.4.1
    • Compatibility:
      • 7.4.1
  3. 1.3.0

    • Interface data in POST body rather than params.json
    • Make sure fragmentSize and numberOfFragments are integers
    • Make it possible to select highlight fragmenter, numberOfFragments, order, postTag and preTag
    • Upgrade to lib-explorer-3.5.1:
    • * Log stacktraces when catching
    • Upgrade to lib-explorer-3.5.0:
    • * Work around nashorn issue with trunc and toInt
    • * Improve debugging with explain and logQueryResults parameters
    • * Use highlight fragmenter, numberOfFragments, order, postTag and preTag when searching
    • Compatibility:
      • 7.3.2
  4. 1.2.0

    • Upgrade to lib-explorer-3.1.0
    • Use highlighter provided by Enonic API
    • Require Enonic XP 7.3.2
    • Compatibility:
      • 7.3.2
  5. 1.1.0

    • Require Enonic XP 7.3.1
    • Upgrade to lib-explorer-3.0.7
    • Upgrade to react 6.12
    • Upgrade to semantic-ui-react 1.2.1
    • Expose fields to Collector React Component
    • BUGFIX Too strict GraphQL Schema lead to missing field values
    • Webcrawler collector: Add https:// if no :// in url
    • Make initialization a task and show progress in admin app rather than an error
    • BUGFIX A collector application can't check the license of app-explorer
    • Compatibility:
      • 7.3.1
  6. 1.0.0

    • Initial release
    • Compatibility:
      • 7.3.0