tencent cloud

文档反馈

最后更新时间:2024-02-07 10:56:07

    功能描述

    消息搜索只能搜索本地存储的消息,比如接收到的消息、调用拉取历史消息接口得到的消息等。
    说明:
    旗舰版才支持

    消息搜索类介绍

    消息搜索参数类

    消息搜索参数类为 MessageSearchParam(Details)。搜索消息时,SDK 会按照该对象的设置,执行不同的搜索逻辑。
    MessageSearchParam 的参数说明如下:
    参数
    含义
    说明
    msg_search_param_keyword_array
    关键字列表
    最多支持 5 个。当消息发送者以及消息类型均未指定时,必须设置关键字列表;否则,关键字列表可以为空。
    msg_search_param_keyword_list_match_type
    指定关键字列表匹配类型
    可设置为 “或” 关系搜索,或 “与” 关系搜索。取值分别为 TIMKeywordListMatchType_Or 和 TIMKeywordListMatchType_And。默认为 “或” 关系搜索。
    msg_search_param_send_indentifier_array
    指定 userID 发送的消息
    最多支持 5 个。
    msg_search_param_message_type_array
    指定搜索的消息类型集合
    传空表示搜索支持的全部类型消息,(FaceElem 和 GroupTipsElem 暂不支持)。 类型取值参考 TIMElemType(Details)。
    msg_search_param_conv_id
    搜索 “全部会话” 还是搜索 “指定的会话”
    msg_search_param_conv_id msg_search_param_conv_id 不为空,搜索指定会话。
    msg_search_param_search_time_position
    搜索的起始时间点
    默认为 0(从现在开始搜索)。UTC 时间戳,单位:秒。
    msg_search_param_search_time_period
    从起始时间点开始的过去时间范围
    默认为 0(不限制时间范围)。24x60x60 代表过去一天。单位:秒。
    msg_search_param_page_index
    分页的页号
    用于分页展示查找结果,0 表示首页。
    msg_search_param_page_size
    每页结果数量
    用于分页展示查找结果,如不希望分页可将其设置成 0。但如果结果数量太多,一次性拉取可能会引发性能问题。

    消息搜索结果类

    消息搜索结果类为 MessageSearchResult(Details)。参数说明如下:
    参数
    含义
    说明
    msg_search_result_total_count
    搜索结果总数
    如果搜索指定会话,返回满足搜索条件的消息总数
    如果搜索全部会话,返回满足搜索条件的消息所在的所有会话总数量
    msg_search_result_item_array
    指定关键字列表匹配类型
    如果搜索指定会话,返回结果列表只包含该会话结果;
    如果搜索全部会话,会对满足搜索条件的消息根据会话 ID 分组,分页返回分组结果。
    其中 msg_search_result_item_array 是个列表,内含 MessageSearchResultItem(Details) 对象,参数说明如下:
    参数
    含义
    说明
    msg_search_result_item_conv_id
    会话 ID
    ——
    msg_search_result_item_total_message_count
    消息数量
    当前会话一共搜索到了多少条符合要求的消息。
    msg_search_result_item_message_array
    满足搜索条件的消息列表
    如果搜索指定会话,messageList 中装载的是本会话中所有满足搜索条件的消息列表。
    如果搜索全部会话,messageList 中装载的消息条数会有如下两种可能:
    如果某个会话中匹配到的消息条数 > 1,则 messageList 为空,您可以在 UI 上显示 “{messageCount} 条相关记录”。
    如果某个会话中匹配到的消息条数 = 1,则 messageList 为匹配到的那条消息,您可以在 UI 上显示之,并高亮匹配关键词。
    msg_search_result_item_conv_type
    会话类型
    TIMConvType(Details)

    搜索全部会话的消息

    当用户在搜索框输入关键字搜索消息时,您可以调用 MsgSearchLocalMessages (Details) 搜索 IM SDK 本地存储的消息。
    如果您希望在全部会话范围内搜索,只需要将 MessageSearchParam 中的 msg_search_param_conv_id 设置为空(null)或者不设置即可。
    示例代码如下:
    // 通过关键词搜索本地消息
    MessageSearchParam param = new MessageSearchParam
    {
    msg_search_param_keyword_array = new List<string>
    {
    "关键词1"
    },
    msg_search_param_page_index = 0,
    msg_search_param_page_size = 10,
    msg_search_param_conv_type = TIMConvType.kTIMConv_C2C
    };
    TIMResult res = TencentIMSDK.MsgSearchLocalMessages(param, (int code, string desc, MessageSearchResult result, string user_data)=>{
    // 处理异步逻辑
    });

    搜索指定会话的消息

    当用户在搜索框输入关键字搜索消息时,您可以调用 MsgSearchLocalMessages (Details) 搜索 IM SDK 本地存储的消息。
    示例代码如下:
    // 通过执行会话id和关键词搜索本地消息
    MessageSearchParam param = new MessageSearchParam
    {
    msg_search_param_keyword_array = new List<string>
    {
    "关键词1"
    },
    msg_search_param_page_index = 0,
    msg_search_param_page_size = 10,
    msg_search_param_conv_id = "group_id"
    };
    TIMResult res = TencentIMSDK.MsgSearchLocalMessages(param, (int code, string desc, MessageSearchResult result, string user_data)=>{
    // 处理异步逻辑
    });
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持