zoukankan      html  css  js  c++  java
  • Sphinx使用及近实时索引实现

    Sphinx介绍

      Sphinx是由一个开源的全文检索引擎,功能类似Lucune,用C++编写,可为其他应用提供高速、低空间占用、高结果相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成,当前系统内置MySQL和PostgreSQL数据库数据源的支持,也支持从标准输入读取特定格式的XML数据,通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS的原生支持)

    Sphinx特性

      1:Sphinx支持高速建立索引(可达10MB/秒,而Lucene建立索引的速度是1.8MB/秒)
      2:高性能的搜索(在2--4GB的文本数据上,平均每次检索响应时间小于0.1秒)
      3:高扩展性(实测最高可对100GB的文本建立索引,单一索引可包含1亿条记录)
      4:提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法
      5:支持分布式搜索
      6:支持短语搜索
      7:可作为MySQL的存储引擎提供搜索服务
      8:支持布尔、短语、词语相似度等多种检索模式
      9:文档支持多个全文检索字段


    系统组成
    整个Sphinx系统由多个可执行程序和一套api组成,这里引用Coreseek(一个基于Sphinx的开源检索引擎,提供了良好的中文支持)的一个结构图做个示例

  • 相关阅读:
    TDD
    算法与数据结构 文档 1 洋洋洋传
    编程的专精度
    python小课
    有时心情舒畅时打个代码心里都是默默地同步输出...
    同时可以运行在JVM上的Kotlin~枚举和判定以及数据对象的写法总结
    map
    multiset
    set
    priority_queue
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575994.html
Copyright © 2011-2022 走看看