docs: def query_text():
      """Get a list of DDOs that match with the given text.
      ---
      tags:
        - ddo
      parameters:
        - name: text
          in: query
          description: ID of the asset.
          required: true
          type: string
        - name: sort
          in: query
          type: object
          description: Key or list of keys to sort the result
          example: {"value":1}
        - name: offset
          in: query
          type: int
          description: Number of records per page
          example: 100
        - name: page
          in: query
          type: int
          description: Page showed
          example: 1
      responses:
        200:
          description: successful action
      """
      data = request.args
      assert isinstance(data, dict), 'invalid `args` type, should already formatted into a dict.'
      search_model = FullTextModel(text=data.get('text', None),
                                   sort=None if data.get('sort', None) is None else json.loads(
                                       data.get('sort', None)),
                                   offset=int(data.get('offset', 100)),
                                   page=int(data.get('page', 1)))
      query_result = dao.query(search_model)
      for i in query_result[0]:
          _sanitize_record(i)
      response = _make_paginate_response(query_result, search_model)
      return Response(json.dumps(response, default=_my_converter), 200,
                      content_type='application/json')