N1QL vs MapReduce Views with Sync-Gateway - Performance issues

Updating the Query to Select Id From…

This it the correct way to create a covering index?
Definition: CREATE INDEX over5_2 ON test_sw1(id) WHERE ((not ((meta().id) like “_sync:%”)) and ((_deleted = false) or (_deleted is missing)))

[
  {
    "plan": {
      "#operator": "Sequence",
      "~children": [
        {
          "#operator": "PrimaryScan",
          "index": "#primary",
          "keyspace": "test__sw1",
          "namespace": "default",
          "using": "gsi"
        },
        {
          "#operator": "Parallel",
          "~child": {
            "#operator": "Sequence",
            "~children": [
              {
                "#operator": "Fetch",
                "keyspace": "test__sw1",
                "namespace": "default"
              },
              {
                "#operator": "Filter",
                "condition": "(((not ((meta(`test__sw1`).`id`) like \"_sync:%\")) and ((`test__sw1`.`type`) = \"user\")) and (((`test__sw1`.`_deleted`) = false) or ((`test__sw1`.`_deleted`) is missing)))"
              },
              {
                "#operator": "InitialProject",
                "result_terms": [
                  {
                    "expr": "(`test__sw1`.`id`)"
                  }
                ]
              },
              {
                "#operator": "FinalProject"
              }
            ]
          }
        }
      ]
    },
    "text": "SELECT id FROM `test__sw1` USE INDEX(over5_2) where  meta().id not like '_sync:%' and type = 'user' and (_deleted = false or _deleted IS MISSING)"
  }
]