Multifunctional multi-user search system based on engine (the IOIX Ukraine proprietary design) for web resources indexation and parametrizable and non-parametrizable artificial intelligence search with advanced linguistic subsystem, including morphological analysis of Japanese, English, Russian and German languages. The Search engine also features a flexible system of search results ranging with custom sorting criteria setup option, multiple relevancy parameters support and smart relevancy algorithm, intelligent subsystem of found content parts highlight, custom templates of search results and design. Primary purpose: Intended for global and local network resources indexation and search by assigned web-sites with a wide set of qualifying criteria. The search can be performed by all indexed resources in the system, by all resources of the user’s registered sites, and by one user’s registered site. In addition to the search options, users are also offered statistic information in form of set of reports about various performed searches parameters. Basic functions (specification):
- Search by indexed resources
- Web resources indexation
- Search activity analysis
User is allowed to be registered and to add sites for indexation within the created account; place the search section on his own web-resources with ability to install and set up specific interface, design and search space restriction by preset page addresses and other criteria. The system contains a variety of reports controlling the search section on remote resources, which enable the complete evaluation of the site’s production and pages popularity. The software product has a user interface and API.
Technologies: С/C++, PHP, MySql, HTTP, NFS, Linux Sockets epoll, threads pools, xpdflib, iconv, curl
Implemented solutions:
- Search query server is a high-performance multithreading server application with pipeline architecture of parallel query processing. It supports GET HTTP 1.0, 1.1 method. Performs search query processing, content organization according to user’s design template. Related words search server is a high-end multithreading server application, which intends to find word pairs with high frequency of occurrence in the indexed content and high degree of logical connection; returns the list of possible query choices using alternative words.
- Indexation server (crawler) is a high-performance multithreading server application performing the network resources scanning, content parsing and web resources data indexation. Supported formats are HTML based, XML, RSS, PDF, plain text.
- Dictionaries server and linguistic subsystem is a high-end single-threaded application performing morphological analysis and query words normalization, alternative query generation offering modifications of probably misspelled words. Supports multiple languages (up to 32 languages simultaneously. Currently implemented are English, German, French, Russian, Ukrainian, Japanese as basic dictionaries and Russian, English and Japanese – with morphology support).
- Distributed storage system for indexed resources and data. The system also includes additional server applications, such as resources data repository, indexation management, reference repository, search engines, clustering and cataloging server, extended recourses content browse server.

