Full-text search

Introduction

In October 2021 (version 11+), Easy Project introduced a new search engine due to the technical obsolescence of the original search. The new 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.

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

How it works

Once indexing is done, users can utilize its advantages. Here is a brief description

  1. Search any term, hit ENTER (autosearch coming soon)
  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. 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.
  5. Use the tooltip for more precise search capabilities.
  6. 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.
  7. To hide the results, click away from the results search/results box

Currently indexed entities
As of version 11+, 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.

From version 11plus.2.0
New setting that searches results for incomplete terms.


Unrelated settings

You may find other search-related settings in
Admin >> Settings >> General

These settings are related to the original search engine. The original search is still present as a backup alternative in case of any critical failures of the new search. The settings do not have effect on the new search function.

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 a 30-day free trial

Full-featured, SSL protected, Daily Backups, In your Geo