zoukankan      html  css  js  c++  java
  • 理解elasticsearch

    思考:如果我们要做一个通过关键词搜索文章的功能,需要搜索哪些字段,以及使用什么技术方案呢?

    搜索字段:

    1. 标题

    2. 内容

    3. 作者

    技术方案:

    1. mysql的模糊查询 %like%

      1. 优点:实现起来简单

      2. 缺点:数据量比较大的情况下,查询效率极低

    2. 全文检索引擎

      1. 优点:专业的全文检索引擎,效率高

      2. 缺点:实现起来比较复杂

    选择使用过全文检索引擎。自行实现django框架和全文检索引擎的代码比较麻烦,抱着不重复造轮子的原则,这里我们选用django的第三方包djangohaystack

    它支持多种全文检索引擎,本项目选择最流行的全文检索引擎之一elasticsearch

    elasticsearch介绍文章参考:https://developer.51cto.com/art/201904/594615.htm

    感谢 channingbreeze 的分享

    要点整理:

    • 反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。
    • 搜索引擎原理就是建立反向索引。
    • Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。
    • Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。
    • Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。
    • Elasticsearch 一个典型应用就是 ELK 日志分析系统。
  • 相关阅读:
    [转]男人25岁之前应该懂得的21个道理
    family album U.S.A 05
    Humour
    Pretty Boy
    [转]男人本色.女人风韵
    电话英语
    搞不懂的女人
    family album U.S.A 03
    [转]The flame of love(爱的火焰)
    四季花开!
  • 原文地址:https://www.cnblogs.com/zhanghaibin16/p/12272140.html
Copyright © 2011-2022 走看看