Luca Omiciuolo Luca Omiciuolo - 20 March, 2020 - 4 ’ read

Contact Manager: introducing Full-Text Search capability.

Imagicle Directories: introducing the fastest contact search tool.

Time is crucial, especially in today’s fast and pressing working environments. That’s why we expect enterprise-level applications to be accurate and reactive. They have to be something we can rely on, providing quick and precise results. Moreover, they must not be an obstacle to daily operations. This is especially true for the apps we use more often than others, like the Imagicle Directory Service, Contact Manager, the solution that centralizes and synchronizes company directories, providing fast searches, click to call and caller ID on phone, web, mobile, and Cisco Jabber. To be a trusted workmate, it needs to be smart and responsive. Do you have a specific contact in mind? Well, the directory service must retrieve that contact as fast as possible. Hence, one of the main focuses of the Spring Release 2020 has been boosting our directory service performances. I’m Luca, from the Imagicle R&D team of Treviso, and I’m here to tell you how we faced this tough challenge. Let’s find out how we made it.

Entering Full-Text search.

Suppose you are reading the awesome booklet you got at the last live event. The one about that enterprise suite everybody is talking about. You have an idea: finding all the occurrences of the word Imagicle (wink). No sooner said than done! You start reading from the very beginning and write down every page and row that contains the magic word you are looking for. Simple as that. Yet, on page 2, you start thinking that this may not be the best approach. In fact, you realized that the time you are spending would be worth nothing the next time you need to look for another word. This is where a Full-Text search approach comes to the rescue. The idea is to break each searchable item into singular entities and then building a link to the position where they appear in the original data.  Does this sound confusing? Let’s make it clear, then. Let’s go into a few details with a more accurate example (I promise it won’t take long). Let’s take a bunch of contacts like the following: 

  • John Doe, 42 Kensington Place, JHK corp.
  • Frank Jeremy Smith, United corporation
  • john.smith@jhk.org, 27 Crystal Place Close

 The first thing we want to do is breaking up the contacts into small searchable entities. Thus we split the details using common separators like blank spaces or punctuation. Well done! We just did the so-called word breaking, one of the fundamental steps of Full-Text indexing. The result will be a set of unique tokens, like John, Smith, Place, and so on, that describe the initial contacts. Now that we have our tokens, the next step consists of collecting them in a so-called inverted index. This is a logical structure that links each token to each contact it came from (it could be one or more). 

Ok, that’s a cool trick, but now you may wonder: how does this exactly help me? Is it useful when it comes to contacts retrieving? (Short answer): yes, a lot! The search engine can now get the contacts matching a given search key by trusting the new index produced as described. And this makes contacts’ search much faster.  On top of this, we can think of many ways to refine the index creation. A fair example is stemming, i.e., the process of finding a common stem between indexed words. Take, for example, connect, connected, and connection. They may seem different words, but they share a common stem: connect. The Full-Text index can take this into account so that when you look for connect you will find all of them. Thesaurus search support and isolation of non-significative words are other examples. Yet many, many more refinements can be added to provide extra capabilities.

Your trusted directory service. Faster.

We understood that the Full-Text search is super cool. The question is: what about Imagicle applications? Starting from the Spring Release 2020, the UC Suite Contact Manager will benefit from a new Full-Text search engine. In exchange for a little more space for each contact required by the new index, we were able to achieve a terrific performance boost. Your contact searches will now be, on average, 10 times faster.  In other words, you will be able to retrieve all the John Doe among your 1 million contacts within a few hundreds of milliseconds! I’m happy to say that we achieved this result without giving up existing functionalities, meaning that you will be able to use the directory service as you used to. Besides, many Imagicle applications will benefit from this large improvement thanks to the integration with the whole suite. Isn’t this awesome? The new search engine exploits the Microsoft SQL Server Full-Text search functionality (the only requirement is installing an additional feature on your SQL Server instance).  As I said, we worked to make our customers’ lives easier. The UC Suite installation package can update all existing local instances of SQL Server 2017 Express (the one shipped alongside the suite), installing the required extra package. This means that, in these cases, no manual operation on the database required! Of course, some manual configuration on the database is mandatory in other scenarios, specifically:

  • older SQL Server versions
  • remote installations
  • commercial SQL Server instances

But don’t worry. You just need to run the SQL Server installation package to add the desired feature. Once the database instance is set up, the UC Suite installer will guide you through the feature activation. If you can’t install it right away, there’s no prob. We will continue to support old-fashioned searches for a while. But since we care about making you work at best, we won’t do it forever. 😀

Full-Text search for Imagicle Contact Manager is one click away and you can benefit from it from any device, on your Attendant Console, your Cisco Jabber and Cisco Finesse. So, don’t forget to configure it with the Spring Release 2020!

That’s all for the directory service improvements. Stay tuned for other super-duper news and remember: the best is yet to come!


Keep an eye on the Imagicle world.
Get some free, happy content and stay up to date.