code: def search_prefix(self):
          
  
          # extract operator
          if 'operator' in request.json:
              operator = request.json['operator']
          else:
              operator = 'equals'
  
          # fetch attributes from request.json
          attr = XhrController.extract_prefix_attr(request.json)
  
          # build query dict
          n = 0
          q = {}
          for key, val in attr.items():
              if n == 0:
                  q = {
                      'operator': operator,
                      'val1': key,
                      'val2': val
                  }
              else:
                  q = {
                      'operator': 'and',
                      'val1': {
                          'operator': operator,
                          'val1': key,
                          'val2': val
                      },
                      'val2': q
                  }
              n += 1
  
          # extract search options
          search_opts = {}
          if 'children_depth' in request.json:
              search_opts['children_depth'] = request.json['children_depth']
          if 'parents_depth' in request.json:
              search_opts['parents_depth'] = request.json['parents_depth']
          if 'include_neighbors' in request.json:
              search_opts['include_neighbors'] = request.json['include_neighbors']
          if 'max_result' in request.json:
              search_opts['max_result'] = request.json['max_result']
          if 'offset' in request.json:
              search_opts['offset'] = request.json['offset']
  
          try:
              result = Prefix.search(q, search_opts)
          except NipapError, e:
              return json.dumps({'error': 1, 'message': e.args, 'type': type(e).__name__})
  
          return json.dumps(result, cls=NipapJSONEncoder)
docs: Search prefixes. Does not yet incorporate all the functions of the
              search_prefix API function due to difficulties with transferring
              a complete 'dict-to-sql' encoded data structure.
  
              Instead, a list of prefix attributes can be given which will be
              matched with the 'equals' operator if notheing else is specified. If
              multiple attributes are given, they will be combined with the 'and'
              operator. Currently, it is not possible to specify different
              operators for different attributes.