NIMSDK-AOS  9.19.0
LuceneService.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.lucene;
2 
3 import com.netease.nimlib.apt.annotation.NIMService;
7 
8 import java.util.List;
9 
10 /**
11  * 全文检索接口
12  */
13 @NIMService("全文检索服务")
14 public interface LuceneService {
15 
16  /**
17  * 检索所有会话,返回每个会话与检索串匹配的消息数及最近一条匹配的消息记录。(异步函数)
18  *
19  * @param query 待检索的字符串
20  * @param limit 最多返回多少条记录
21  * @return InvocationFuture 可以设置回调函数,回调时返回聊天消息全文检索结果集
22  */
23  public InvocationFuture<List<MsgIndexRecord>> searchAllSession(String query, int limit);
24 
25  /**
26  * 检索所有会话,返回每个会话与检索串匹配的消息数及最近一条匹配的消息记录。(同步函數)
27  *
28  * @param query 待检索的字符串
29  * @param limit 最多返回多少条记录
30  * @return 聊天消息全文检索结果集
31  */
32  public List<MsgIndexRecord> searchAllSessionBlock(String query, int limit);
33 
34  /**
35  * 检索指定的会话,返回该会话中与检索串匹配的所有消息记录。(异步函数)
36  *
37  * @param query 待检索的字符串
38  * @param sessionType 待检索的会话类型(个人/群组)
39  * @param sessionId 待检索的会话ID
40  * @return 聊天消息全文检索结果集
41  */
42  public InvocationFuture<List<MsgIndexRecord>> searchSession(String query, SessionTypeEnum sessionType, String sessionId);
43 
44  /**
45  * 检索指定的会话,返回该会话中与检索串匹配的所有消息记录。(同步函数)
46  *
47  * @param query 待检索的字符串
48  * @param sessionType 待检索的会话类型(个人/群组)
49  * @param sessionId 待检索的会话ID
50  * @return InvocationFuture 可以设置回调函数,回调时返回聊天消息全文检索结果集
51  */
52  public List<MsgIndexRecord> searchSessionBlock(String query, SessionTypeEnum sessionType, String sessionId);
53 
54  /**
55  * 指定会话关键字查询(分页返回匹配记录)(异步)
56  *
57  * @param query 待检索的字符串
58  * @param sessionType 待检索的会话类型(个人/群组)
59  * @param sessionId 待检索的会话ID
60  * @param pageIndex 页码(从第一页开始)
61  * @param pageSize 分页大小
62  * @return InvocationFuture 可以设置回调函数,回调时返回聊天消息全文检索结果集
63  */
64  public InvocationFuture<List<MsgIndexRecord>> searchSessionPage(String query, SessionTypeEnum sessionType, String sessionId,
65  int pageIndex, int pageSize);
66 
67  /**
68  * 指定会话关键字查询(分页返回匹配记录)(同步)
69  *
70  * @param query 待检索的字符串
71  * @param sessionType 待检索的会话类型(个人/群组)
72  * @param sessionId 待检索的会话ID
73  * @param pageIndex 页码(从第一页开始)
74  * @param pageSize 分页大小
75  * @return 聊天消息全文检索结果集
76  */
77  public List<MsgIndexRecord> searchSessionPageBlock(String query, SessionTypeEnum sessionType, String sessionId,
78  int pageIndex, int pageSize);
79 
80  /**
81  * 指定会话关键字查询(分页查询:根据锚点,返回下一页匹配记录)(异步)
82  *
83  * @param query 待检索的字符串
84  * @param sessionType 待检索的会话类型(个人/群组)
85  * @param sessionId 待检索的会话ID
86  * @param anchor 首页传null,下一页传上一页的最后一条记录
87  * @param pageSize 分页大小
88  * @return InvocationFuture 可以设置回调函数,回调时返回聊天消息全文检索结果集
89  */
90  public InvocationFuture<List<MsgIndexRecord>> searchSessionNextPage(String query, SessionTypeEnum sessionType, String sessionId,
91  MsgIndexRecord anchor, int pageSize);
92 
93  /**
94  * 指定会话关键字查询(分页查询:根据锚点,返回下一页匹配记录)(同步)
95  *
96  * @param query 待检索的字符串
97  * @param sessionType 待检索的会话类型(个人/群组)
98  * @param sessionId 待检索的会话ID
99  * @param anchor 首页传null,下一页传上一页的最后一条记录
100  * @param pageSize 分页大小
101  * @return 聊天消息全文检索结果集
102  */
103  public List<MsgIndexRecord> searchSessionNextPageBlock(String query, SessionTypeEnum sessionType, String sessionId,
104  MsgIndexRecord anchor, int pageSize);
105 
106  /**
107  * 指定会话关键字查询匹配记录总数(同步)
108  *
109  * @param query 待检索的字符串
110  * @param sessionType 待检索的会话类型(个人/群组)
111  * @param sessionId 待检索的会话ID
112  * @return 匹配的记录总数
113  */
114  public int searchSessionMatchCount(String query, SessionTypeEnum sessionType, String sessionId);
115 
116  /**
117  * 指定会话关键字查询匹配记录总页数(同步)
118  *
119  * @param query 待检索的字符串
120  * @param sessionType 待检索的会话类型(个人/群组)
121  * @param sessionId 待检索的会话ID
122  * @param pageSize 分页每页记录数
123  * @return 匹配的记录总页数
124  */
125  public int searchSessionPageCount(String query, SessionTypeEnum sessionType, String sessionId, int pageSize);
126 
127  /**
128  * 获取所有缓存数据的大小
129  *
130  * @return 缓存数据字节数
131  */
132  public long getCacheSize();
133 
134  /**
135  * 删除所有缓存数据
136  */
137  public void clearCache();
138 }
聊天消息全文检索结果记录