solr的倒序索引

倒序索引:

  在每次进行检索时,搜索引擎必须遍历每个网页,查找网页中是否包含你指定的关键词,这个工作量是十分巨大的,主要原因有:

  1.互联网的网页基数非常大;

  2.在每个网页中检索是否含有指定的关键词并不是一件非常简单的事情,它需要遍历网页的每个字符.

为了更好的建立被搜索的关键字和好友这些关键字的页面之间的映射关系,倒序索引产生了.简单的说,倒序索引的倒序,指的是这个索引是从关键词中查找对应的源的,而不是从源中检索对应的关键词.

   为了检索关键词A,首先从倒序索引的索引表中,找到关键词A,然后查找A所在的页,由于倒序索引表排序后,在其中查找一个关键词可以使用二分查找,特别在采用分布式数据,服务器集群,多线程技术等条件下,效率高,所以查找含有某个关键词的页变得非常简单.

  假设数据库中含有1000000条记录,其中有10条记录符合搜索条件,如果使用倒序索引,可以很快找到这些关键词,并且定位到含有这些关键词的十条记录,否则,需要遍历1000000条记录,效率的差异可想而知.

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/10939161.html