ArangoSearch Views powered by IResearch
ArangoSearch is a natively integrated AQL extension making use of theIResearch library.
ArangoSearch allows one to:
- join documents located in different collections to one result list
- filter documents based on AQL boolean expressions and functions
- sort the result set based on how closely each document matched the filterA concept of value “analysis” that is meant to break up a given value intoa set of sub-values internally tied together by metadata which influences boththe filter and sort stages to provide the most appropriate match for thespecified conditions, similar to queries to web search engines.
In plain terms this means a user can for example:
- request documents where the
body
attribute best matchesa quick brown fox
- request documents where the
dna
attribute best matches a DNA sub sequence - request documents where the
name
attribute best matches gender - etc. (via custom analyzers)
The IResearch Library
IResearch is a cross-platform open source indexing and searching engine writtenin modern C++, optimized for speed and memory footprint, with source availablefrom https://github.com/iresearch-toolkit/iresearch
IResearch is the framework for indexing, filtering and sorting of data.The indexing stage can treat each data item as an atom or use custom “analyzers”to break the data item into sub-atomic pieces tied together with internallytracked metadata.
The IResearch framework in general can be further extended at runtime withcustom implementations of analyzers (used during the indexing and filteringstages) and scorers (used during the sorting stage) allowing full control overthe behavior of the engine.
Using ArangoSearch Views
To get more familiar with ArangoSearch usage, you may start withGetting Started simple guide and then explore details ofArangoSearch in Detailed Overview,Analyzers andScorers topics.