Create an Analyzer

POST http://<EXTERNAL_ENDPOINT>:8529/_db/:database-name/_api/analyzer

Creates a new Analyzer based on the provided configuration.

See the description of Analyzers for an introduction and the available types, properties and features.

Path Parameters
  • The name of the database.

    Example: _system

Query Parameters
    HTTP Headers
      Request Body application/json object
      • Possible values in the array: "frequency", "norm", "position", "offset"

        The set of features to set on the Analyzer generated fields.

      • The Analyzer name.

      • The properties used to configure the specified Analyzer type.

      • The Analyzer type.

      Responses
      • An Analyzer with a matching name and definition already exists.

      • A new Analyzer definition was successfully created.

      • One or more of the required parameters is missing or one or more of the parameters is not valid.

      • The user does not have permission to create and Analyzer with this configuration.

      Examples

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/analyzer' <<'EOF'
      {
        "name": "testAnalyzer",
        "type": "identity"
      }
      EOF
      Show output
      HTTP/1.1 201 Created
      content-type: application/json
      cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
      connection: Keep-Alive
      content-length: 80
      content-security-policy: frame-ancestors 'self'; form-action 'self';
      expires: 0
      pragma: no-cache
      server: ArangoDB
      strict-transport-security: max-age=31536000 ; includeSubDomains
      x-arango-queue-time-seconds: 0.000000
      x-content-type-options: nosniff
      
      { 
        "name" : "_system::testAnalyzer", 
        "type" : "identity", 
        "properties" : { 
        }, 
        "features" : [ ] 
      }

      Get an Analyzer definition

      GET http://<EXTERNAL_ENDPOINT>:8529/_db/:database-name/_api/analyzer/:analyzer-name

      Retrieves the full definition for the specified Analyzer name. The resulting object contains the following attributes:

      • name: the Analyzer name
      • type: the Analyzer type
      • properties: the properties used to configure the specified type
      • features: the set of features to set on the Analyzer generated fields
      Path Parameters
      • The name of the database.

        Example: _system

      • The name of the Analyzer to retrieve.

      Query Parameters
        HTTP Headers
          Responses
          • The Analyzer definition was retrieved successfully.

          • Such an Analyzer configuration does not exist.

          Examples

          Retrieve an Analyzer definition:

          curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/analyzer/testAnalyzer'
          Show output
          HTTP/1.1 200 OK
          content-type: application/json
          cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
          connection: Keep-Alive
          content-length: 105
          content-security-policy: frame-ancestors 'self'; form-action 'self';
          expires: 0
          pragma: no-cache
          server: ArangoDB
          strict-transport-security: max-age=31536000 ; includeSubDomains
          x-arango-queue-time-seconds: 0.000000
          x-content-type-options: nosniff
          
          { 
            "error" : false, 
            "code" : 200, 
            "features" : [ ], 
            "properties" : { 
            }, 
            "type" : "identity", 
            "name" : "_system::testAnalyzer" 
          }

          List all Analyzers

          GET http://<EXTERNAL_ENDPOINT>:8529/_db/:database-name/_api/analyzer

          Retrieves a an array of all Analyzer definitions. The resulting array contains objects with the following attributes:

          • name: the Analyzer name
          • type: the Analyzer type
          • properties: the properties used to configure the specified type
          • features: the set of features to set on the Analyzer generated fields
          Path Parameters
          • The name of the database.

            Example: _system

          Query Parameters
            HTTP Headers
              Responses
              • The Analyzer definitions was retrieved successfully.

              Examples

              Retrieve all Analyzer definitions:

              curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/analyzer'
              Show output
              HTTP/1.1 200 OK
              content-type: application/json
              cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
              connection: Keep-Alive
              content-length: 2116
              content-security-policy: frame-ancestors 'self'; form-action 'self';
              expires: 0
              pragma: no-cache
              server: ArangoDB
              strict-transport-security: max-age=31536000 ; includeSubDomains
              x-arango-queue-time-seconds: 0.000000
              x-content-type-options: nosniff
              
              { 
                "error" : false, 
                "code" : 200, 
                "result" : [ 
                  { 
                    "name" : "text_ru", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "ru", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_fr", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "fr", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_pt", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "pt", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_nl", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "nl", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_sv", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "sv", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_zh", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "zh", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : false 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_en", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "en", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_es", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "es", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_it", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "it", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_fi", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "fi", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_no", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "no", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "identity", 
                    "type" : "identity", 
                    "properties" : { 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "norm" 
                    ] 
                  }, 
                  { 
                    "name" : "text_de", 
                    "type" : "text", 
                    "properties" : { 
                      "locale" : "de", 
                      "case" : "lower", 
                      "stopwords" : [ ], 
                      "accent" : false, 
                      "stemming" : true 
                    }, 
                    "features" : [ 
                      "frequency", 
                      "position", 
                      "norm" 
                    ] 
                  } 
                ] 
              }

              Remove an Analyzer

              DELETE http://<EXTERNAL_ENDPOINT>:8529/_db/:database-name/_api/analyzer/:analyzer-name

              Removes an Analyzer configuration identified by analyzer-name.

              If the Analyzer definition was successfully dropped, an object is returned with the following attributes:

              • error: false
              • name: The name of the removed Analyzer
              Path Parameters
              • The name of the database.

                Example: _system

              • The name of the Analyzer to remove.

              Query Parameters
              • The Analyzer configuration should be removed even if it is in-use.

              HTTP Headers
                Responses
                • The Analyzer configuration was removed successfully.

                • The analyzer-name was not supplied or another request parameter was not valid.

                • The user does not have permission to remove this Analyzer configuration.

                • Such an Analyzer configuration does not exist.

                • The specified Analyzer configuration is still in use and force was omitted or false specified.

                Examples

                Removing without force:

                curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/analyzer/testAnalyzer'
                Show output
                HTTP/1.1 200 OK
                content-type: application/json
                cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
                connection: Keep-Alive
                content-length: 57
                content-security-policy: frame-ancestors 'self'; form-action 'self';
                expires: 0
                pragma: no-cache
                server: ArangoDB
                strict-transport-security: max-age=31536000 ; includeSubDomains
                x-arango-queue-time-seconds: 0.000000
                x-content-type-options: nosniff
                
                { 
                  "error" : false, 
                  "code" : 200, 
                  "name" : "_system::testAnalyzer" 
                }

                Removing with force:

                curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/collection' <<'EOF'
                {
                  "name": "testCollection"
                }
                EOF
                
                curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/view' <<'EOF'
                {
                  "name": "testView",
                  "type": "arangosearch",
                  "links": {
                    "testCollection": {
                      "analyzers": [
                        "testAnalyzer"
                      ]
                    }
                  }
                }
                EOF
                
                curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/analyzer/testAnalyzer?force=false'
                
                curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/analyzer/testAnalyzer?force=true'
                Show output
                HTTP/1.1 200 OK
                content-type: application/json
                cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
                connection: Keep-Alive
                content-length: 57
                content-security-policy: frame-ancestors 'self'; form-action 'self';
                expires: 0
                pragma: no-cache
                server: ArangoDB
                strict-transport-security: max-age=31536000 ; includeSubDomains
                x-arango-queue-time-seconds: 0.000000
                x-content-type-options: nosniff
                
                { 
                  "error" : false, 
                  "code" : 200, 
                  "name" : "_system::testAnalyzer" 
                }