Nilead Search is one of the core features of our Nilead Platform. Being able to search/filter/aggregate results is perhaps the most essential feature of any CRM/CMS/Ecommerce platform. Lets first go through a few examples to demonstrate the complexity of a search system and how we are solving those issues with Nilead Search:
Searching and filtering are essential to show relevant information to end-users, without a reliable and fast search system the data become useless.
Most websites now come with a blog/article section to communicate with visitors. For websites with a huge collection of articles, it's important to have at least a basic text search feature to support it. Text search, if done right, is not as simple as many may think:
Certain languages may require more work (e.g: for Japanese, we need handle the 4 different writing systems, for Vietnamese we need to handle the tone marks).
Handling of synonyms, typos, users' intentions.
Approximate string matching using fuzzy search.
Ecommerce websites usually have a large collection of product with many filterable criteria ranging from categories, materials, colors, to price and review.
When a user navigates to a category page listing, he/she may expect to see all the possible filter options available to the products inside the specific listing (i.e. not all filter options should show up).
The filter needs to be able to deliver search results from hundreds of thousands if not millions of products in a flick of a second to the end users. Due to the nature of product structure the data is often stored in various tables and combining them to search is not practical in term of performance.
We extensively utilizes the Extension System to build customizable complex data structure for each partner's business. One challenge with the extension system is the ability to efficiently link data objects together via users' defined relationship. One example is a Travel Company client with a complex tour system:
Tours are linked to various spots/places (cities, provinces)
Spots/places are linked to destinations (countries)
Client wants to show a filterable list of tours for each destination, and show the list of all destinations that a tour covers.
Oh, the joy! To run effective marketing campaigns, we have to efficiently and reliably segment customers using information from various sources (past orders, customers interactions with our marketing materials, sales people's inputs, etc...). It's almost impossible to predict and prepare for all possible uses cases that a business may need on its endeavor.
99% of the above search issues can be solved by post processing and indexing data properly for searching and filtering. We realized that this task cannot be done easily and efficiently via traditional database query and we built and extendable search mechanism into Nilead Platform. With Nilead, you can index your data into an external search engine of your choice and utilize the search results right within the Nilead Platform.
This mechanism gives you, the website owners, the power to:
Control your own cost (it's up to you to choose a search engine and provider you want)
Control your own search/filter mechanism (you basically can search and filter in any way you want. You can even merge your accounting data to see which customers have pending invoices for example)
Control and tweak search results in any way that you want
As of the moment, the only external search engine that Nilead Search supports is ElasticSearch which is arguably the one of the most powerful open-source search engines in the world. We can support more search engines upon request on a case-by-case basis.
It should be noted that ElasticSearch is a resource intensive search engine and it's not cheap to host and maintain. For that reason, unless mandatory we try to avoid having to utilize ElasticSearch for our clients. There are several providers that offer ElasticSearch engines as a hosted service, among them are:
Nilead team is also working on our custom self-hosted ElasticSearch solution that is cheaper while still having the most essential features that most businesses require. Please contact us for further details to join our beta testing program.