千万级数据的全文检索搜索引擎(二)

来源:互联网 发布:法语自学软件app 编辑:程序博客网 时间:2024/04/30 18:24

   全文检索是一套比较复杂的系统,在介绍架构之前,需要介绍一些基本的模块。

  千万级数据的全文检索搜索引擎--分词

(一)二元分词

    在我们的第一个版本中,使用的是二元分词,大概用了接近一年的时间,二元分词就是每相邻2个词做一次切分,不包含英文,英文单独切分。

   二元分词一个缺点是索引比较大,有大量的冗余,带来存储和索引查找的压力

  第二个缺点是无法搜索单字,这是一个比较大的问题,在运营期间,这个缺点一直受到运营人员和市场人员的质疑。也是基于这个原因,我们引入了第二套分词方法。

(二)辞典分词

    系统使用了一个辞典,其中包含了一万多条常用的短语,分词时先在辞典中查找出所有可能的分词集合,然后选择分词粒度最小的一个集合(后台索引时)。搜索时,对用户数输入的长句子,在辞典中选择一个粒度最大的分词集合。

    为了解决上面的第二个缺点,我们引入了一个单字索引,对数据做全切分,每个单字建立索引,由于汉字的数量有限,所以增加的扩展词库不会非常大。

   目前这套分词系统使用的效果比较好。配合前台做一些常关键词的自动切分,可以满足用户的搜索需求。

   分词的一个总的原则就是:用户输入的分词粒度要尽量大,后台索引分词粒度要尽量小。

    

原创粉丝点击