#NEWLINE# @ query_params ( '_source' , '_source_exclude' , '_source_include' , 'fields' , 'parent' , 'preference' , 'realtime' , 'refresh' , 'routing' , 'version' , 'version_type' ) #NEWLINE# def get( self , index , id , doc_type = '_all' , params = None ) : #NEWLINE# #INDENT# "\n        Get a typed JSON document from the index based on its id.\n        `<http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html>`_\n\n        :arg index: The name of the index\n        :arg doc_type: The type of the document (use `_all` to fetch the first\n            document matching the ID across all types)\n        :arg id: The document ID\n        :arg _source: True or false to return the _source field or not, or a\n            list of fields to return\n        :arg _source_exclude: A list of fields to exclude from the returned\n            _source field\n        :arg _source_include: A list of fields to extract and return from the\n            _source field\n        :arg fields: A comma-separated list of fields to return in the response\n        :arg parent: The ID of the parent document\n        :arg preference: Specify the node or shard the operation should be\n            performed on (default: random)\n        :arg realtime: Specify whether to perform the operation in realtime or\n            search mode\n        :arg refresh: Refresh the shard containing the document before\n            performing the operation\n        :arg routing: Specific routing value\n        :arg version: Explicit version number for concurrency control\n        :arg version_type: Specific version type, valid choices are: 'internal',\n            'external', 'external_gte', 'force'\n        " #NEWLINE# for param in ( index , doc_type , id ) : #NEWLINE# #INDENT# if ( index in SKIP_IN_PATH ) : #NEWLINE# #INDENT# raise ValueError ( 'Empty value passed for a required argument.' ) #NEWLINE# #UNINDENT# #UNINDENT# return self . transport . perform_request ( 'GET' , _make_path ( index , doc_type , id ) , params = params )