HTTP interface for search-alias Views

The HTTP API for Views lets you manage search-alias Views, including adding and removing inverted indexes

Create a search-alias View

POST /_db/{database-name}/_api/view
Creates a new View with a given name and properties if it does not already exist.
Path Parameters
  • The name of the database.

Query Parameters
    HTTP Headers
      Request Body application/json object
      • A list of inverted indexes to add to the View.

        • The name of a collection.

        • The name of an inverted index of the collection, or the index ID without the <collection>/ prefix.

      • The name of the View.

      • The type of the View. Must be equal to "search-alias". This option is immutable.

      Responses
      • If the name or type attribute are missing or invalid, then an HTTP 400 error is returned.

      • If a View called name already exists, then an HTTP 409 error is returned.

      Examples

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/view' <<'EOF'
      {
        "name": "products",
        "type": "search-alias",
        "indexes": [
          {
            "collection": "books",
            "index": "inv-idx"
          }
        ]
      }
      EOF
      Show output

      Get information about a View

      GET /_db/{database-name}/_api/view/{view-name}

      The result is an object briefly describing the View with the following attributes:

      • id: The identifier of the View
      • name: The name of the View
      • type: The type of the View as string
      Path Parameters
      • The name of the database.

      • The name of the View.

      Query Parameters
        HTTP Headers
          Responses
          • If the view-name is unknown, then a HTTP 404 is returned.

          Examples

          Using an identifier:

          curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/72252'
          Show output

          Using a name:

          curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/productsView'
          Show output

          Read properties of a View

          GET /_db/{database-name}/_api/view/{view-name}/properties

          Returns an object containing the definition of the View identified by view-name.

          The result is an object with a full description of a specific View, including View type dependent properties.

          Path Parameters
          • The name of the database.

          • The name of the View.

          Query Parameters
            HTTP Headers
              Responses
              • If the view-name is missing, then a HTTP 400 is returned.

              • If the view-name is unknown, then a HTTP 404 is returned.

              Examples

              Using an identifier:

              curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/72268/properties'
              Show output

              Using a name:

              curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/productsView/properties'
              Show output

              List all Views

              GET /_db/{database-name}/_api/view

              Returns an object containing a listing of all Views in a database, regardless of their type. It is an array of objects with the following attributes:

              • id
              • name
              • type
              Path Parameters
              • The name of the database.

              Query Parameters
                HTTP Headers
                  Responses
                  • The list of Views

                  Examples

                  Return information about all Views:

                  curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view'
                  Show output

                  Replace the properties of a search-alias View

                  PUT /_db/{database-name}/_api/view/{view-name}/properties
                  Replaces the list of indexes of a search-alias View.
                  Path Parameters
                  • The name of the database.

                  • The name of the View.

                  Query Parameters
                    HTTP Headers
                      Request Body application/json object
                      • A list of inverted indexes for the View.

                        • The name of a collection.

                        • The name of an inverted index of the collection, or the index ID without the <collection>/ prefix.

                      Responses
                      • On success, an object with the following attributes is returned:

                          Response Body application/json object
                        • The identifier of the View.

                        • The list of inverted indexes that are part of the View.

                          • The name of a collection.

                          • The name of an inverted index of the collection.

                        • The name of the View.

                        • The View type ("search-alias").

                      • If the view-name is missing, then a HTTP 400 is returned.

                      • If the view-name is unknown, then a HTTP 404 is returned.

                      Examples

                      curl -X PUT --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/view/productsView/properties' <<'EOF'
                      {
                        "indexes": [
                          {
                            "collection": "books",
                            "index": "inv_descr"
                          }
                        ]
                      }
                      EOF
                      Show output

                      Update the properties of a search-alias View

                      PATCH /_db/{database-name}/_api/view/{view-name}/properties
                      Updates the list of indexes of a search-alias View.
                      Path Parameters
                      • The name of the database.

                      • The name of the View.

                      Query Parameters
                        HTTP Headers
                          Request Body application/json object
                          • A list of inverted indexes to add to or remove from the View.

                            • The name of a collection.

                            • The name of an inverted index of the collection, or the index ID without the <collection>/ prefix.

                            • Whether to add or remove the index to the stored indexes property of the View. Possible values: "add", "del". The default is "add".

                          Responses
                          • On success, an object with the following attributes is returned:

                              Response Body application/json object
                            • The identifier of the View.

                            • The list of inverted indexes that are part of the View.

                              • The name of a collection.

                              • The name of an inverted index of the collection.

                            • The name of the View.

                            • The View type ("search-alias").

                          • If the view-name is missing, then a HTTP 400 is returned.

                          • If the view-name is unknown, then a HTTP 404 is returned.

                          Examples

                          curl -X PATCH --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/view/productsView/properties' <<'EOF'
                          {
                            "indexes": [
                              {
                                "collection": "books",
                                "index": "inv_descr"
                              }
                            ]
                          }
                          EOF
                          Show output

                          Rename a View

                          PUT /_db/{database-name}/_api/view/{view-name}/rename

                          Renames a View. Expects an object with the attribute(s)

                          • name: The new name

                          It returns an object with the attributes

                          • id: The identifier of the View.
                          • name: The new name of the View.
                          • type: The View type.
                          Renaming Views is not supported in cluster deployments.
                          Path Parameters
                          • The name of the database.

                          • The name of the View to rename.

                          Query Parameters
                            HTTP Headers
                              Responses
                              • If the view-name is missing, then a HTTP 400 is returned.

                              • If the view-name is unknown, then a HTTP 404 is returned.

                              Examples

                              curl -X PUT --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/view/productsView/rename' <<'EOF'
                              {
                                "name": "catalogView"
                              }
                              EOF
                              Show output

                              Drop a View

                              DELETE /_db/{database-name}/_api/view/{view-name}

                              Drops the View identified by view-name.

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

                              • error: false
                              • id: The identifier of the dropped View
                              Path Parameters
                              • The name of the database.

                              • The name of the View to drop.

                              Query Parameters
                                HTTP Headers
                                  Responses
                                  • If the view-name is missing, then a HTTP 400 is returned.

                                  • If the view-name is unknown, then a HTTP 404 is returned.

                                  Examples

                                  Using an identifier:

                                  curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/72318'
                                  Show output

                                  Using a name:

                                  curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/view/productsView'
                                  Show output