• 全文检索(Lucene&Solr)


    全文检索(Lucene&Solr)

    1)什么是全文检索?为什么需要全文检索?

    结构化数据(mysql等)方便查询,而非结构化数据(如多篇文章)是难以查询到自己需要的,所以要使用全文检索。

    全文检索:将非结构化数据的内容提取一部分,然后重新组织,使其有一定结构,然后就能以此快速的查找需要的信息,提取整理后的信息称之为索引。

    应用:如淘宝,京东的搜索商品;百度的索引引擎。

     

    2)原始文档:互联网上的网页,数据库中的数据,磁盘上的文件;

    索引库:索引+原始文档;

    语汇单元:一个term就是一个单元。

     

    3)步骤

    创建文档对象:将一个非结构化数据的属性(称为域,如文档名称与路径等)提取出来;

    分析文档:去除文档的一些标点符号与一些没意义的词,其他的单词每个设置为特定的term,term的名称就是这些个单词;

    创建索引:将这些term作为索引;

    保存索引和文档到索引库;

    搜索》创建查询》执行查询》渲染结果。

     

    4)通过索引找到的结果可能有多个,他们是怎样排序的呢?

    通过索引找到的数据,谁出现的索引词汇数量比较多就排在去前面;

    还有一种是反向查询,先查找内容,再查询文本属性,这就比较慢了。

     

    5)mysql数据库往往满足不了高级的搜索,所以使用全文搜索;

    Lucene实现站内搜索工作量比较大,性能维护都不好;

    所以当下最优的方案是Solr,它提供了较为完备的搜索引擎解决方案。

     

  • 相关阅读:
    配送单MYSQL ,一点都不机智
    强哥新周报SQL
    SQL 交叉连接与内连接
    pycharm git 提交使用情况
    MYSQL freedata 外联接
    SQL 添加字段
    邮件发送方法代码时
    调通有赞接口数据,翻页获取
    superset dashboard 设置自动刷新
    python 语法错误记录
  • 原文地址:https://www.cnblogs.com/xdzy/p/9808380.html
Copyright © 2020-2023  润新知