taobao.items.search 搜索商品信息
        
        - 根据传入的搜索条件，获取商品列表和商品类目信息ItemCategory列表（类似于淘宝页面上的商品搜索功能，与 taobao.items.get的区别在于：这个方法得到的结果既有商品列表，又有类目信息列表） 
        - 商品列表里只能获得商品的部分信息，商品的详细信息请通过taobao.item.get获取 
        - 商品类目信息列表里只包含类目id和该类目下商品的数量 
        - 不能通过设置cid=0来查询

def search(self, fields=[], **kwargs):
        '''taobao.items.search 搜索商品信息
        
        - 根据传入的搜索条件，获取商品列表和商品类目信息ItemCategory列表（类似于淘宝页面上的商品搜索功能，与 taobao.items.get的区别在于：这个方法得到的结果既有商品列表，又有类目信息列表） 
        - 商品列表里只能获得商品的部分信息，商品的详细信息请通过taobao.item.get获取 
        - 商品类目信息列表里只包含类目id和该类目下商品的数量 
        - 不能通过设置cid=0来查询'''
        request = TOPRequest('taobao.items.search')
        if not fields:
            item = Item()
            fields = item.fields
        request['fields'] = fields
        for k, v in kwargs.iteritems():
            if k not in ('q', 'nicks', 'cid', 'props', 'product_id', 'order_by', 'ww_status', 'post_free', 'location_state', 'location_city', 'is_3D', 'start_score', 'end_score', 'start_volume', 'end_volume', 'one_station', 'is_cod', 'is_mall', 'is_prepay', 'genuine_security', 'promoted_service', 'stuff_status', 'start_price', 'end_price', 'page_no', 'page_size', 'auction_flag', 'auto_post', 'has_discount', 'is_xinpin') and v==None: continue
            if k == 'location_state': k = 'location.state'
            if k == 'location_city': k = 'location.city'
            request[k] = v
        
        self.create(self.execute(request))
        return self.item_search