Search (full-text)

How it works

Once indexing is done (detailed description in a separate chapter below), users can utilize its advantages. Here is a brief description:

  1. Type any term, hit ENTER (or pause typing for autosearch)
  2. Returned results are in all entity types by default (tasks, projects, documents, etc).
  3. To filter results for a certain entity type, click on its tag
  4. By typing in special characters, you can filter entities directly by the search term
    • t: looking for tasks, e.g. "t: some task"
    • p: looking for projects, e.g. "p: some project"
    • u: looking for users, e.g. "u: some user"
  5. To select more entity types at once, go to ad-hoc settings. The settings also contain sorting options, additional filters (such as only open tasks = tasks with non-closed status), and the possibility to search within a single project

    Once you changed some ad-hoc settings, hit the Search button again.
  6. Save your prefered entities to be searched by default
    1. Sales representative might want to search by default in Accounts and Opportunities, on the other hand project managers might prefer Tasks and Projects as default
    2. Search preferences are save individually for each user.

  7. Use the tooltip for more precise search capabilities.
  8. Clicking on a search result always takes you to a new tab of your web browser, not to affect your work on the current tab.
  9. To hide the results, click away from the results search/results box
  10. Your (max.) 10 last clicked search results will appear before your next search attempt.

  11. By clicking the "/" character, it will immediately position the cursor in the search bar.
  12. You can utilize the up and down arrow keys within the search results.
  13. Full-text search in DMS module.

Currently indexed entities
As of version 12.8, these entities are indexed:

  • Tasks
  • Projects
  • Users
  • Documents
  • News
  • Risks
  • Leads (CRM)
  • Opportunities (CRM)
  • Accounts (CRM)
  • Partners (CRM)
  • Personal contacts (CRM)
  • Campaigns (CRM)

From all entities, index contains name/subject/title, content/description, additional important fields (such as email of users), History/Comments, Attachment names.

Global settings

The relevant settings are found under
Admin >> Plugins >> Easy Xapian fts - Edit

  • Language - set it to the language in which you have the most data in your application. In case you change the language, you need to run re-indexing
  • Language autodetection - enable in case you have a large amount of data in other languages than your primary one
  • N-grams for CJK text - enable only if your data is in Chinese, Japanese or Korean
  • Check at least - this setting determines the precision of the number of total results. Default setting is all = 100 % precise. Change it only if your search performance is getting considerably slower, which did not happen in our tests with millions of items.

User mentions are extended when the "Extend search queries with exact search expression" feature is enabled, allowing more users to be mentioned in the comment by @.

Indexing process

Full-text search will not work unless the data is indexed. Based on the solution (Cloud vs Server) or search setting, you may need to run indexing manually.
Don't worry, even if you do, it is just a one-time action and requires just one click.

Cloud solution
During the upgrade process to version 11+ (and all higher versions) from an older version, we will take care of the indexing. However, there are cases that require re-indexing. These are listed further in the text.

Server solution
After new installation of version 11+ (or higher) or upgrading to such version from an older one, you need to run indexing. Same if you do some particular operations, as listed below.

How index your data manually?

  1. Go to
    Admin >> Plugins >> Easy Xapian fts - Edit
  2. Verify that the feature is Active

    If not, activate it by clicking on the button very next
  3. Scroll down to RE-INDEX ALL button and click it
  4. Depending on the amount of data in your database, indexing may take from a few seconds to a couple of minutes. It is done in the background => your users are not affected by it.
    To see current progress, simply refresh the page.
  5. If data is not indexed at all, no results will be found on the search attempt. If indexing is still in progress, results may not be complete. In both cases, users will see an info message about indexation

What about future re-indexing?

As stated above, manual re-indexing is not necessary for regular use. When creating, updating, or deleting data in the application the index is automatically updated.

Situations that may require re-indexing include:

  • the database was migrated to a new server or instance
  • change a setting of search that requires re-indexing (written in the tooltip of every such setting)
  • if Xapian search was deactivated for a period of time - during this period, the index was not continuously updated
  • application crashed during a data changing operation

Historical context

In October 2021 (version 11+), Easy Project introduced a new search engine due to the technical obsolescence of the original search. The current search is built on the Xapian engine. Thanks to indexing, it is able to show results within 1 second in 95 % of attempts, while in the original search it was not exceptional to get results in several minutes with ad-hoc database requests.

Such improvement required changes in parts of the application's foundations, which admins should be aware of. The user comfort brought by the new search is definitely worth the minor amount of attention required from the admins.

Original (legacy) search

Since the new search engine is a significant technological leap (which always carries some unforeseeable risks), we are keeping the original search in the application as a backup option. To switch to the original search, go to Admin >> Plugins >> Easy Xapian fts - Edit and click Deactivate

This is a global option => you can use only one search engine in the application at once. The situation when one user uses the new search and another user the legacy search is not possible. Just a reminder, if you deactivate and reactive Xapian search again, you will need to run re-indexing.

We should emphasize, the legacy search will not receive any bug fixes, optimizations, or other improvements in the future, it is strictly used as a backup solution for critical failures of the new search. The new search will continue to be maintained, improved, and optimized as an integral part of Easy Project.

Try Easy Project in 30 days free trial

Full features, SSL protected, daily backups, in your geolocation