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的开源检索引擎,提供了良好的中文支持)的一个结构图做个示例

  • 相关阅读:
    Tomcat 8.5 添加https认证
    常用服务的搭建、配置及优化
    Linux基础知识整理
    在CentOS-6系统中二进制安装MySQL-5.6
    搭建本地yum源仓库
    Redis-请慎用String类型
    Redis AOF日志备份原理
    MySQL 输入查询
    MySQL 命令行连接选项
    感思-最好的优化就是减少数据量!
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575994.html
Copyright © 2011-2022 走看看