NeuroScope is a system for indexing documents and searching their content for specific information. In simpler terms, NeuroScope is a search engine based on a concrete set of data selected by the user. Such a tool is of great use to anyone who wants to search through their private set of documents without making it available to external indexing mechanisms.
Precision of search
NeuroScope is distinguished by a very high precision of full-text searching. It allows the user to search for information by keywords and phrases (lexical search), and full phrases (full text search). By using linguistic technologies the system can find information regardless of the grammatical forms of the searched words; it can also ignore irrelevant words (such as conjunctions) and expand abbreviations.
In NeuroScope, the evaluation of search results, i.e. the quality of matching the results with the query, is customizable. The user has the option to define which documents or parts thereof are more relevant, e.g. the title or the abstract, so that after sending a query, the expected search results will be placed on top of the list. Additionally, NeuroScope enables displaying so called scraps, that is automatically generated fragments of documents containing the searched text. These serve as summaries and allow the user to assess whether this is the desired document, without having to read through its entire content.
NeuroScope does not use external databases, but stores data in its own indexes. An index is similar to a database, it has a specific structure which defines the format of the documents it contains. Analogously to databases, NeuroScope may contain many indexes varying in structure, and each index may store suitable types of documents. NeuroScope allows flexible definition of the structure of documents within an index by a few types of traits (e.g. text, number, boolean). Additionally, a special set of flags for text traits allows the user to decide which functions are to be available for a given field (e.g. division into phrases, full text search).
NeuroScope has a module for error correction in the user’s queries and a Suggest module for generating a list of hints.
The NeuroScope system has a client-server architecture. The server is the core of the whole system. It is responsible for indexing and searching for indexed documents in the contents. One server can support multiple indexes at a time, and each of them is able to send simultaneous requests from multiple clients.
NeuroScope server uses the XML-RPC protocol to communicate with the user, therefore it is possible to write a client in virtually every popular programming language and integrate it with almost any system which requires a function to search the text information.
NeuroScope has been optimized both in terms of operation speed and memory consumption. The system indexes up to 4GB of text, and in a less than half a second responds to the most of full-text queries. In order to reduce memory consumption,the linguistic data is kept once only in a memory shared by different indexes.