使用List保存搜索结果,数据重复

    在构造搜索引擎时,后台搜索代码为了与前端显示结合,方便分页,没有直接使用Lucene的hits。而是根据页面的请求,将hits中的相应条目存入List结构中,前端显示时读取List的内容,显示在屏幕上。

    在针对一个关键字搜索、排序、过滤时,显示的结果均正常,使用两个关键字,即先根据一个关键字查找,在结果中再根据第二个关键字过滤时,控制台输出的结果正常,页面显示所有条目相同。

    多方排查后发现,控制台结果正常是因为,控制台输出的结果是直接打印的hits的内容,页面的结果是由hits保存至list,再从list中读出的。

    每打印一条hit就向list中存一条,流程没有错误。

    但是由于疏忽,我每次使用list的时候没有clear,导致数据的叠加,造成了错误。


你可能感兴趣的:(搜索引擎,list,Lucene)