学习之--搜索引擎

搜索引擎应用方向

  • 自动补全,联想词
  • 个性化推荐
  • 点评与简介
  • 用户行为分析
  • 商品推荐、商品属性

代替like、group 等关键字

搜索引擎特性:

  • 高效,针对百万级、亿级数据可以有毫秒级响应。
  • 快速部署,接入使用容易。属于一个单独平台。提供接口即可使用。
  • 可扩展性,将建立索引和查询处理的运算分不到一个集群内的多台服务器。

搜索引擎的缺陷:

  •     底层是NoSql。不是关系型数据库。在关联查询不好。

Solr是基于Lucene的全文搜索服务器。提供了完善的功能管理页面。直接Jason API接口。    

分词器

    常用分词器: Ik分词器(ik不知道词性) 盘古 庖丁解牛

     分词器原理:底层使用字典树来实现。词库一般需要自定义。根据词库来分词。

            字典树 isEnd是否为词的尾节点,蓝色节点isEnd=false,红色节点isEnd=true

                        只存单字,不会存词组。

                        会存在重复字组,用一些重复字组来提高效率。每次都是从root节点开始。

                        会加载在内存中。词库大会导致内存消耗大。

                        分词会有两种模式,最大分词模式/最小密度模式。

             


                                    Root

                        北        海        中

                    京        淀        关        国

                                                            人


搜索引擎的算法: 倒排索引算法(相当于新华字典中的目录)。

倒排索引算法

  •      trem用来存放字组,
  •     docid是链表结构。一条文章、记录算一个doc。可以直接指向该记录。
  •      freeq表示排序

Solr安装指引:

  1.     
  2. 将扩展包copy到web/lib下
  3. 配置data文件夹 xmls文件 solr 


猜你喜欢

转载自blog.csdn.net/Damon__Wang/article/details/80302303