浏览 SDKs · React Native
SDKsReact Native

搜索消息

OpenIM React Native SDK 搜索消息。

复制

使用 searchLocalMessages() 搜索当前账号已同步到本地的消息。

const result = await OpenIMSDK.searchLocalMessages({
  conversationID,
  keywordList: ['发布'],
  messageTypeList: [MessageType.TextMessage],
  pageIndex: 1,
  count: 20,
});

参数说明

keywordList 可传入一个或多个关键词。单个搜索框通常传入一个去除首尾空格且非空的关键词。

参数类型是否必填说明
conversationIDstring要搜索的会话 ID。
keywordListstring[]关键词列表;单个搜索框通常传入一个清理后的关键词。
keywordListMatchTypenumber多关键词匹配方式:0 表示命中任意关键词(OR),1 表示同时命中全部关键词(AND);省略时按 0 处理。
senderUserIDListstring[]仅搜索这些用户发送的消息。
messageTypeListMessageType[]仅搜索指定类型的消息,例如文本消息和 @ 文本消息;省略时按 SDK 默认范围搜索。
searchTimePositionnumber搜索结束位置,Unix 时间戳,单位为秒。
searchTimePeriodnumbersearchTimePosition 向前搜索的时间范围,单位为秒。
pageIndexnumber搜索结果页码,从 1 开始。
countnumber每页返回的消息数量。

返回结果

调用后返回 SearchMessageResult

字段类型说明
totalCountnumber当前条件下的匹配消息总数。
searchResultItemsSearchMessageResultItem[]按会话组织的搜索结果。

每个 SearchMessageResultItem 包含会话信息和 messageList。修改关键词或筛选条件时,从第一页重新搜索,避免混合不同条件的结果。需要定位命中消息前后的记录时见读取消息上下文