A newer version of this documentation is available.

View Latest

Import Filter

      +

      Introducing import filters and how to use them to speed-up the initial import process.
      This topic provides an example configuration of Import filters

      Introduction

      Sync Gateway’s initial import process can take a considerable time to complete for clusters with a large amount of data. The process can be made more efficient by using an Import filter. Without a filter (the default), Sync Gateway imports all documents.

      Configuration

      To get started with a clusters which contains a large number of pre-existing documents, we recommend you use an import_filter to filter out unwanted data and reduce the initial import processing time — see: Example 1.

      Example 1. Using an Import Filter
      //
      {
        //  ... may be preceded by additional configuration data as required by the user ...
        "databases": {
          "getting-started-db": {
            "server": "http://localhost:8091",
            "bucket": "getting-started-bucket",
            "username": "sync_gateway", (1)
            "password": "password", (2)
            "enable_shared_bucket_access": true, (3)
            "import_docs": true,
            "num_index_replicas": 0, (4)
            "import_filter": `
              function(doc) { (5)
                if (doc.type != "mobile") {
                  return false
                }
                return true
              }`,
            "users": {
              "GUEST": { "disabled": false, "admin_channels": ["*"] }
            },
            "sync": `function (doc, oldDoc) {
              if (doc.sdk) {
                channel(doc.sdk);
              }
            }`
          }
        }
        //  ... may be followed by additional configuration data as required by the user ...
      }
      //

      Configuration properties:

      1 The user’s username that you created on the Couchbase Server Admin Console.
      2 The user’s password that you created on the Couchbase Server Admin Console.
      3 The Sync with Couchbase Server feature allows Couchbase Server SDKs to also perform operations on this bucket.
      4 num_index_replicas is the number of index replicas stored in Couchbase Server, introduced with GSI/N1QL indexing — see Indexing versus Views. If you’re running a single Couchbase Server node for development purposes the num_index_replicas must be set to 0.
      5 Only import documents which have a type property equal to mobile.