public function index($post_id)
 {
     $already_indexed = self::already_indexed($post_id);
     $res = $already_indexed ? DigitalGov_Search_API::update_existing_document($this) : DigitalGov_Search_API::index_new_document($this);
     if (is_a($res, 'WP_ERROR')) {
         return self::$API_ERROR;
     }
     if ($res['response']['code'] == 201) {
         update_post_meta($post_id, self::$ALREADY_INDEXED, true);
         update_post_meta($post_id, self::$DOCUMENT_ID, $this->document_id);
         return self::$DOCUMENT_CREATED;
     } elseif ($res['response']['code'] == 200) {
         update_post_meta($post_id, self::$ALREADY_INDEXED, true);
         return self::$DOCUMENT_UPDATED;
     } else {
         $body = json_decode($res['body']);
         throw new APICouldNotIndexDocumentException($body->developer_message);
     }
 }