IMSDK
IM features a comprehensive suite of solutions including global access, one-to-one chat, group chat, message push, profile and relationship chain hosting, and account authentication. It also provides complete app access and backend management APIs.
V2TIMMessageSearchParam

Properties

NSArray< NSString * > * keywordList
 
V2TIMKeywordListMatchType keywordListMatchType
 
NSArray< NSString * > * senderUserIDList
 
NSArray< NSNumber * > * messageTypeList
 
NSString * conversationID
 
NSUInteger searchTimePosition
 
NSUInteger searchTimePeriod
 
NSUInteger pageIndex
 
NSUInteger pageSize
 
NSUInteger searchCount
 
NSString * searchCursor
 

Property Documentation

◆ keywordList

- (NSArray<NSString *>*) keywordList
readwritenonatomicstrong

Specify the keywords (max 5). If neither the sender nor message type is specified, the keyword list cannot be empty.

◆ keywordListMatchType

- (V2TIMKeywordListMatchType) keywordListMatchType
readwritenonatomicassign

Whether to combine the keywords with OR (V2TIM_KEYWORD_LIST_MATCH_TYPE_OR) or AND (V2TIM_KEYWORD_LIST_MATCH_TYPE_AND). The default is OR.

◆ senderUserIDList

- (NSArray<NSString *>*) senderUserIDList
readwritenonatomicstrong

Specify the senders (max 5 user IDs).

◆ messageTypeList

- (NSArray<NSNumber *>*) messageTypeList
readwritenonatomicstrong

Set the message types to search. If nil is passed in, all message types supported are searched (V2TIMFaceElem and V2TIMGroupTipsElem are not supported).

◆ conversationID

- (NSString*) conversationID
readwritenonatomicstrong

Search all conversations or a specified conversation

If conversationID is nil, the messages in all conversations will be searched.

If conversationID is not nil, the messages of a specific conversation will be searched. You need to pass in the unique ID of a conversation. For one-to-one chats, the value format is [NSString stringWithFormat:"c2c_%",userID]. For group chats, the value format is [NSString stringWithFormat:"group_%",groupID].

◆ searchTimePosition

- (NSUInteger) searchTimePosition
readwritenonatomicassign

Specify the start time for search. The default value is 0, indicating the current time. You can also set it to a UTC timestamp, in seconds.

◆ searchTimePeriod

- (NSUInteger) searchTimePeriod
readwritenonatomicassign

Set the time range (seconds) for search. The default value 0 indicates the time range is not limited. If you set it to 24x60x60, messages in the past day will be searched.

◆ pageIndex

- (NSUInteger) pageIndex
readwritenonatomicassign

Specify the page number (which starts from 0). This is used to paginate search results. For example, to return 10 results per page, you can do the following:

  • For the first call, set pageSize to 10 and pageIndex to 0. totalCount in the callback indicates the total number of search results.
  • You can then calculate the total number of pages: totalPage = (totalCount % pageSize == 0) ? (totalCount / pageSize) : (totalCount / pageSize + 1)
  • For subsequent calls, you can specify a page number (must be smaller than totalPage) so that the results on that page will be returned.
Attention
Valid only for interface searchLocalMessages

◆ pageSize

- (NSUInteger) pageSize
readwritenonatomicassign

Set the maximum number of results returned per page. This is used to paginate search results. If you set the parameter to 0, the results will not be paginated. Please note that the search performance may be compromised if you do not paginate search results when there are too many of them.

Attention
Valid only for interface searchLocalMessages

◆ searchCount

- (NSUInteger) searchCount
readwritenonatomicassign

Set the number of results returned per cloud search

Attention
Valid only for interface searchCloudMessages

◆ searchCursor

- (NSString*) searchCursor
readwritenonatomicstrong

Set the starting position for a cloud search. For the first call, leave the parameter empty. For subsequent calls, pass in the value of searchCursor in V2TIMMessageSearchResult.

Attention
Valid only for interface searchCloudMessages