updateMapping

Update the collection mapping. Mapping allow you to exploit the full capabilities of our persistent data storage layer, ElasticSearch (check here the mapping capabilities of ElasticSearch).

Signature

Copied to clipboard!
void updateMapping(
    const std::string& index,
    const std::string& collection,
    const std::string& mapping);

void updateMapping(
    const std::string& index,
    const std::string& collection,
    const std::string& mapping,
    const kuzzleio::query_options& options);

Arguments

Arguments Type Description
index
const std::string&
Index name
collection
const std::string&
Collection name
mapping
const std::string*
JSON string representing the collection data mapping
options
kuzzleio::query_options*
Query options

mapping

A JSON string representing the collection data mapping.

The mapping must have a root field properties that contain the mapping definition:

Copied to clipboard!
{
  "properties": {
    "field1": { "type": "text" },
    "field2": {
      "properties": {
        "nestedField": { "type": "keyword" }
      }
    }
  }
}

More informations about database mappings here.

options

Additional query options

Property Type
(default)
Description
queuable
bool

(true)
If true, queues the request during downtime, until connected to Kuzzle again

Usage

Copied to clipboard!
try {
  std::string mapping = R"({
    "properties": {
      "plate": { "type": "keyword" }
    }
  })";

  kuzzle->collection->updateMapping("nyc-open-data", "yellow-taxi", mapping);

  std::cout << "Mapping successfully updated" << std::endl;
} catch (kuzzleio::KuzzleException &e) {
  std::cerr << e.what() << std::endl;
}