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

Public Member Functions

 V2TIMMessageSearchParam ()
 
 V2TIMMessageSearchParam (const V2TIMMessageSearchParam &)
 
V2TIMMessageSearchParamoperator= (const V2TIMMessageSearchParam &)
 
 ~V2TIMMessageSearchParam ()
 

Data Fields

V2TIMStringVector keywordList
 
V2TIMKeywordListMatchType keywordListMatchType
 
V2TIMStringVector senderUserIDList
 
V2TIMElemTypeVector messageTypeList
 
V2TIMString conversationID
 
uint32_t searchTimePosition
 
uint32_t searchTimePeriod
 
uint32_t pageIndex
 
uint32_t pageSize
 
uint32_t searchCount
 
V2TIMString searchCursor
 

Constructor & Destructor Documentation

◆ V2TIMMessageSearchParam() [1/2]

◆ V2TIMMessageSearchParam() [2/2]

◆ ~V2TIMMessageSearchParam()

Member Function Documentation

◆ operator=()

Field Documentation

◆ keywordList

V2TIMStringVector keywordList

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

◆ keywordListMatchType

V2TIMKeywordListMatchType keywordListMatchType

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

V2TIMStringVector senderUserIDList

Specify the senders (max 5 user IDs)

◆ messageTypeList

V2TIMElemTypeVector messageTypeList

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

◆ conversationID

V2TIMString conversationID

Search all conversations or a specified conversation

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

If conversationID is not null, 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 "c2c_userID". For group chats, the value format is "group_groupID".

◆ searchTimePosition

uint32_t searchTimePosition

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

uint32_t searchTimePeriod

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

uint32_t pageIndex

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

uint32_t pageSize

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

uint32_t searchCount

Set the number of results returned per cloud search

Attention
Valid only for interface searchCloudMessages

◆ searchCursor

V2TIMString searchCursor

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