CollectionMapping

/*
 Constructors are not exposed in the JS/Node SDK.
 CollectionMapping objects are returned by the method
 Collection.getMapping

 You may also use the Collection.collectionMapping() method:
 */
var mapping = kuzzle.collection('collection', 'index').collectionMapping();

mapping = kuzzle.collection('collection', 'index').collectionMapping(mapping);
CollectionMapping dataMapping = new CollectionMapping(dataCollection);

JSONObject mapping = new JSONObject();
JSONObject type = new JSONObject();
type.put("type", "string");
mapping.put("foo", type);

CollectionMapping dataMapping = new CollectionMapping(dataCollection, mapping);
<?php

use \Kuzzle\Kuzzle;
use \Kuzzle\DataMapping;

$mapping = [
  'someField' => [
    'type' => 'string',
    'index' => 'analyzed'
  ]
];

$kuzzle = new Kuzzle('localhost');
$dataCollection = $kuzzle->collection('collection', 'index');

$dataMapping = $dataCollection->collectionMapping($mapping);
// $dataMapping instanceof DataMapping

When creating a new data collection in the persistent data storage layer, Kuzzle uses a default mapping. This means that, by default, you won't be able to exploit the full capabilities of our persistent data storage layer (currently handled by ElasticSearch), and your searches may suffer from below-average performance, depending on the amount of data you stored in a collection and the complexity of your database.

The CollectionMapping object allows you to get the current mapping in a data collection and to modify it if necessary.


CollectionMapping(Collection, [mapping])

Arguments Type Description
Collection Collection An instantiated Collection object
mapping JSON Object Optional mapping

Properties

Property name Type Description get/set
headers JSON Object Common headers for all sent documents. get/set
mapping object Easy-to-understand list of mappings per field get/set

Note: the headers property is inherited from the provided Collection object and can be overrided