默认
打赏 发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
引用:    1)当用户主动发送消息、主动同步消息、主动删除消息以及收到消息的时候,会将每一条消息对象中的消息经过分词后同步到倒排索引数据库;
    2)当用户需要查询关键字的时候,会先去倒排索引数据库中找出对应消息的 idClient,再根据 idClient 去 indexDB 中找出对应的消息对象返回给用户。


这里应该是全文最关键的技术实现点了,应该是属于比较典型的空间换时间的做法吧。
但是我的疑问是,这种做法相当于,每条消息每次都会产生数条索引,如果是单条消息可能还好,如果是批量拉取离线消息的场景性能表现是不是会差一点?
而且随着应用使用数据越久,建立的索引应该也会越来越多,这个可以放任不管吗?
还有就是,这个实现应该是基于应用本地数据库实现的吧?如果应用支持消息漫游,但又清除了本地数据(包括数据库),是不是就无法进行全文检索了?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部