Analyzer Management

    See Analyzers for general information and details about the attributes.

    1. 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 features to enable
    • returns analyzer (object): Analyzer object, also if an Analyzer with the same settings exists already. An error is raised if the settings mismatch or if they are invalid
    1. arangosh> var analyzers = require("@arangodb/analyzers");
    2. arangosh> analyzers.save("csv", "delimiter", { "delimiter": "," }, []);

    Show execution results

    Hide execution results

    1. {
    2. "name" : "_system::csv",
    3. "type" : "delimiter",
    4. "properties" : {
    5. "delimiter" : ","
    6. },
    7. "features" : [ ]
    8. }

    Get an Analyzer

    1. var analyzer = analyzers.analyzer(<name>)

    Get an Analyzer by the name, stored in the current database. The name can be prefixed with _system:: to access Analyzers stored in the _system database.

    • returns analyzer (object|null): Analyzer object if found, else null
    1. arangosh> var analyzers = require("@arangodb/analyzers");
    2. arangosh> analyzers.analyzer("text_en");

    Show execution results

    1. [ArangoAnalyzer "text_en" (type text)]
    1. var analyzerArray = analyzers.toArray()

    List all Analyzers available in the current database.

    • returns analyzerArray (array): array of Analyzer objects

    Show execution results

    Hide execution results

    1. [
    2. [ArangoAnalyzer "text_sv" (type text)],
    3. [ArangoAnalyzer "identity" (type identity)],
    4. [ArangoAnalyzer "text_it" (type text)],
    5. [ArangoAnalyzer "text_es" (type text)],
    6. [ArangoAnalyzer "text_pt" (type text)],
    7. [ArangoAnalyzer "text_fi" (type text)],
    8. [ArangoAnalyzer "text_nl" (type text)],
    9. [ArangoAnalyzer "text_en" (type text)],
    10. [ArangoAnalyzer "text_de" (type text)],
    11. [ArangoAnalyzer "text_fr" (type text)],
    12. [ArangoAnalyzer "text_no" (type text)],
    13. [ArangoAnalyzer "text_ru" (type text)],
    14. [ArangoAnalyzer "_system::delimiter_hyphen" (type delimiter)]
    15. ]

    Remove an Analyzer

    1. 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
    1. arangosh> var analyzers = require("@arangodb/analyzers");

    Show execution results

    Hide execution results

    Analyzer Object Methods

    1. var name = analyzer.name()
    • returns name (string): name of the Analyzer
    1. arangosh> var analyzers = require("@arangodb/analyzers");

    Show execution results

    Hide execution results

    1. text_en

    Get Analyzer Type

    1. var type = analyzer.type()
    • returns type (string): type of the Analyzer

    Show execution results

    Hide execution results

    1. text
    1. var properties = analyzer.properties()
    • returns properties (object): type dependent properties of the Analyzer
    1. arangosh> var analyzers = require("@arangodb/analyzers");
    2. arangosh> analyzers.analyzer("text_en").properties();

    Show execution results

    Hide execution results

    1. {
    2. "locale" : "en.utf-8",
    3. "case" : "lower",
    4. "stopwords" : [ ],
    5. "accent" : false,
    6. "stemming" : true
    7. }

    Get Analyzer Features

    1. var features = analyzer.features()
    • returns features (array): array of strings with the features of the Analyzer
    1. arangosh> var analyzers = require("@arangodb/analyzers");
    2. arangosh> analyzers.analyzer("text_en").features();

    Hide execution results

    1. [
    2. "frequency",
    3. "norm",
    4. "position"