搜索消息
您可以通过 IMLib SDK 的相关搜索接口通过关键词、消息类型等条件搜索会话中的符合条件的消息列表,同时支持按时间段搜索。您也可以通过用户 userId 搜索指定会话中符合条件的消息列表。
支持关键字搜索的消息需要实现 MessageContent
的 getSearchableWord
方法:
- 内置的消息类型中文本消息(TextMessage),文件消息(FileMessage),和图文消息
RichContentMessage
类型默认实现了MessageContent#getSearchableWord
方法。 - 自定义消息类型也可以支持关键字搜索,需要您参考文档自行实现。详见自定义消息类型。
- 根据关键字搜索本地存储的全部会话,获取包含关键字的会话列表。
- 根据搜索会话返回的会话列表数据,调用搜索单个会话的方法,搜索符合条件的消息。
搜索符合条件的会话
您可以通过 searchConversations
按关键字、消息类型搜索本地存储的符合查找条件的所有会话列表 SearchConversationResult。自 5.20.0 版本开始,支持返回超级群会话信息,如果需要超级群功能,请通过提交工单开启。
接口
Java
RongIMClient.getInstance().searchConversations(keyword, conversationTypes, messageTypeObjectNames,callback);