@query_params('consistency', 'op_type', 'parent', 'pipeline', 'refresh',
        'routing', 'timeout', 'timestamp', 'ttl', 'version', 'version_type')
    def index(self, index, doc_type, body, id=None, params=None):
        for param in (index, doc_type, body):
            if param in SKIP_IN_PATH:
                raise ValueError("Empty value passed for a required argument.")
        return self.transport.perform_request('POST' if id in SKIP_IN_PATH else 'PUT',
            _make_path(index, doc_type, id), params=params, body=body)
Adds or updates a typed JSON document in a specific index, making it searchable.
dataset/ETHPy150Open elastic/elasticsearch-py/elasticsearch/client/__init__.py/Elasticsearch.index