Analyzer Management
The JavaScript API can be accessed via the @arangodb/analyzers
module fromboth server-side and client-side code (arangosh, Foxx):
var analyzers = require("@arangodb/analyzers");
See Analyzers for general information anddetails about the attributes.
Analyzer Module Methods
Create an Analyzer
var analyzer = analyzers.save(<name>, <type>[, <properties>[, <features>]])
Create a new Analyzer with custom configuration in the current database.
- name (string): name for identifying the Analyzer later
- type (string): the kind of Analyzer to create
- properties (object, optional): settings specific to the chosen type.Most types require at least one property, so this may not be optional
- features (array, optional): array of strings with names of the featuresto enable
- returns analyzer (object): Analyzer object, also if an Analyzer with thesame settings exists already. An error is raised if the settings mismatchor if they are invalid
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.save("csv", "delimiter", { "delimiter": "," }, []);
Show execution results
- {
- "name" : "_system::csv",
- "type" : "delimiter",
- "properties" : {
- "delimiter" : ","
- },
- "features" : [ ]
- }
Hide execution results
Get an Analyzer
var analyzer = analyzers.analyzer(<name>)
Get an Analyzer by the name, stored in the current database. The name can beprefixed with _system::
to access Analyzers stored in the _system
database.
- name (string): name of the Analyzer to find
- returns analyzer (object|null): Analyzer object if found, else
null
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.analyzer("text_en");
Show execution results
- [ArangoAnalyzer "text_en" (type text)]
Hide execution results
List all Analyzers
var analyzerArray = analyzers.toArray()
List all Analyzers available in the current database.
- returns analyzerArray (array): array of Analyzer objects
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.toArray();
Show execution results
- [
- [ArangoAnalyzer "text_ru" (type text)],
- [ArangoAnalyzer "text_no" (type text)],
- [ArangoAnalyzer "text_nl" (type text)],
- [ArangoAnalyzer "text_pt" (type text)],
- [ArangoAnalyzer "text_de" (type text)],
- [ArangoAnalyzer "text_en" (type text)],
- [ArangoAnalyzer "text_zh" (type text)],
- [ArangoAnalyzer "identity" (type identity)],
- [ArangoAnalyzer "text_es" (type text)],
- [ArangoAnalyzer "text_it" (type text)],
- [ArangoAnalyzer "text_fi" (type text)],
- [ArangoAnalyzer "text_sv" (type text)],
- [ArangoAnalyzer "text_fr" (type text)]
- ]
Hide execution results
Remove an Analyzer
analyzers.remove(<name> [, <force>])
Delete an Analyzer from the current database.
- name (string): name of the Analyzer to remove
- force (bool, optional): remove Analyzer even if in use by a View.Default:
false
- returns nothing: no return value on success, otherwise an error is raised
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.remove("csv");
Show execution results
Hide execution results
Analyzer Object Methods
Individual Analyzer objects expose getter accessors for the aforementioneddefinition attributes (see Create an Analyzer).
Get Analyzer Name
var name = analyzer.name()
- returns name (string): name of the Analyzer
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.analyzer("text_en").name();
Show execution results
- text_en
Hide execution results
Get Analyzer Type
var type = analyzer.type()
- returns type (string): type of the Analyzer
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.analyzer("text_en").type();
Show execution results
- text
Hide execution results
Get Analyzer Properties
var properties = analyzer.properties()
- returns properties (object): type dependent properties of the Analyzer
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.analyzer("text_en").properties();
Show execution results
- {
- "locale" : "en.utf-8",
- "case" : "lower",
- "stopwords" : [ ],
- "accent" : false,
- "stemming" : true
- }
Hide execution results
Get Analyzer Features
var features = analyzer.features()
- returns features (array): array of strings with the features of the Analyzer
- arangosh> var analyzers = require("@arangodb/analyzers");
- arangosh> analyzers.analyzer("text_en").features();
Show execution results
- [
- "position",
- "norm",
- "frequency"
- ]
Hide execution results