Tuleap
What is Tuleap
Solutions
Get started
Community
Resources
Use cases Demos, Tutorials Documentation Online trainings Release notes Sources
Blog
  • How-to guides
  • User guide
  • Installation guide
  • Administration guide
    • Users management
    • Projects management
    • Application management
      • Configuration Variables
      • Platform banner
      • Notifications in Tuleap
      • PHPWiki
      • Plugins
        • Bot Mattermost plugins
        • Document Manager
        • Full-text search
        • Git
        • MediaWiki
        • Statistics
        • SVN plugin
        • Trackers
      • Release Notes
    • System administration
  • Deployment guide
  • Developer guide
Menu Docs Administration guide Application management Plugins Full-text search

Full-text search

Attention

This module is part of Tuleap Enterprise. It might not be available on your installation of Tuleap.

The full-text search makes possible to find an item based on its content across all the items you can access.

Indexed items

The following items are currently indexed and can be found via the full-text search:

  • Artifacts:

    • String fields

    • Text fields

    • Step definition fields

    • Follow-up comments

Indexation backends

Two different backends are provided via two different plugins:

  • MySQL Database (tuleap-plugin-fts_db)

  • Meilisearch Server (tuleap-plugin-fts_meilisearch)

Attention

You should not install both plugins tuleap-plugin-fts_db and tuleap-plugin-fts_meilisearch.

MySQL backend

Database implementation rely on MySQL Natural Language Full-Text Searches. It targets small to medium Tuleap instances. It is not suitable for large instances with more than 200’000 artifacts: search quality and performance are not adequate. Furthermore content written in ideographic languages such as Chinese and Japanese are not correctly indexed and you will not be able to find them in the search.

Meilisearch backend

Meilisearch is an Open Source (MIT) full text search engine with very good performances and search results relevance.

Based on first feedbacks, Meilisearch implementation gives better results with very good performance even with large dataset. Even if we are still waiting for feedbacks on very big instances with lot of artifacts).

Meilisearch backend rely on a Meilisearch server. Tuleap ships with a local server that can run along Tuleap application server (aka local server). It’s also possible to use a remote instance either hosted by Meilisearch or inside your own infrastructure (for scalability or separation of concerns reasons).

Local server

Local server is the easiest way to install and setup. Please keep in mind that it will run an additional piece of software on your server so monitor resource usage accordingly.

Meilisearch server is installed with tuleap-meilisearch-server package. It’s configuration is entirely managed by Tuleap. In order to install you will need to run:

  1. install the package: dnf install tuleap-meilisearch-server

  2. activate fts_meilisearch plugin: either in site admin interface or with sudo -u codendiadm tuleap plugin:install fts_meilisearch)

  3. redeploy conf: tuleap-cfg site-deploy

  4. start Meilisearch server: systemctl start tuleap-meilisearch

  5. ensure the server will be started at boot time: systemctl enable tuleap-meilisearch

Remote server

Remote server is a Meilisearch reachable on the network. It can be hosted in Meilisearch Cloud or in your own infrastructure.

In order to configure the remote server, you will need a server url and an API key to be able to index and search.

Those settings can be set via web UI (Site administration » plugins » Meilisearch) or via CLI:

  • tuleap config-set fts_meilisearch_server_url <url>

  • tuleap config-set fts_meilisearch_api_key <key>

  • tuleap config-set fts_meilisearch_index_name <name> (optional, defaults to fts_tuleap)

Initial indexing

Tuleap indexes items whenever they are created or updated. However, if you install the full-text search plugin on an instance with existing items you will need to index them so you can find them in the search.

After the plugin installation you can run the following command to index the existing items:

tuleap full-text-search:index-all-pending-items

Warning

The initial indexing is a resource heavy processus that can take a long time. You might want to run it when your server is the less busy in order to keep its performance and the experience of your users optimal. The command can be stopped and restarted.

Previous Next
Enalean Tuleap project and this website are sponsored by Enalean © 2024 Enalean SAS
Twitter LinkedIn Open Hub
Trademarks Security Legal