Luca Omiciuolo

by | Mar 20, 2020

Spring Release 2020: introducing Full-Text Search capability.

Want more awesome content? Sign up for our newsletter.

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, Speedy Enterprise, Imagicle 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 focus 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 breaking 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 in 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 ApplicationSuite Advanced Directory Service 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 ApplicationSuite 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 ApplicationSuite 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. 😁
FTS will probably be mandatory from Spring’21. 
 

Full-Text search for Imagicle Advanced Directory Service 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!


#stayimagicle

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *