def search(self,<EOL>query,<EOL>category,<EOL>uid=None,<EOL>latitude=None,<EOL>longitude=None,<EOL>city=None,<EOL>region=None):
if isinstance(category, (tuple, list)):<EOL><INDENT>category = '<STR_LIT:U+002C>'.join(category)<EOL><DEDENT>data = optionaldict()<EOL>data['<STR_LIT>'] = query<EOL>data['<STR_LIT>'] = category<EOL>data['<STR_LIT>'] = uid<EOL>data['<STR_LIT>'] = latitude<EOL>data['<STR_LIT>'] = longitude<EOL>data['<STR_LIT>'] = city<EOL>data['<STR_LIT>'] = region<EOL>data['<STR_LIT>'] = self._client.appid<EOL>return self._post(<EOL>url='<STR_LIT>',<EOL>data=data<EOL>)<EOL>
发送语义理解请求
详情请参考
http://mp.weixin.qq.com/wiki/0/0ce78b3c9524811fee34aba3e33f3448.html

:param query: 输入文本串
:param category: 需要使用的服务类型，多个可传入列表
:param uid: 可选，用户唯一id（非开发者id），用户区分公众号下的不同用户（建议填入用户openid）
:param latitude: 可选，纬度坐标，与经度同时传入；与城市二选一传入
:param longitude: 可选，经度坐标，与纬度同时传入；与城市二选一传入
:param city: 可选，城市名称，与经纬度二选一传入
:param region: 可选，区域名称，在城市存在的情况下可省；与经纬度二选一传入
:return: 返回的 JSON 数据包

使用示例::

    from wechatpy import WeChatClient

    client = WeChatClient('appid', 'secret')
    res = client.semantic.search(
        '查一下明天从北京到上海的南航机票',
        'flight,hotel',
        city='北京'
    )