SlideShare ist ein Scribd-Unternehmen logo
1 von 31
LAMP 人主题分享交流会 LAMPER.CN
Coreseek/Sphinx 全文检索实践指南 ,[object Object],[object Object]
涉及的内容 ,[object Object],[object Object],[object Object],[object Object],[object Object]
全文检索可以解决的业务系统问题 ,[object Object],[object Object],[object Object],[object Object]
全文检索  VS  数据库检索 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
数据库的全文索引 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
涉及的内容 ,[object Object],[object Object],[object Object],[object Object],[object Object]
No Magic  - 倒排索引 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全文检索技术的宗教传统 ,[object Object],[object Object],[object Object]
倒排索引历史 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
圣经倒排索引的假设 ,[object Object],[object Object],[object Object],[object Object]
涉及的内容 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全文检索的最简化模型 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全文检索 向量空间模型 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
向量空间模型的优缺点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全文检索 概率模型 ,[object Object],[object Object],[object Object],[object Object]
LSI 检索 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
涉及的内容 ,[object Object],[object Object],[object Object],[object Object],[object Object]
开源检索系统的对比分析 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
如何评价检索系统? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
检索系统特性一览 特性 Lucene Sphinx (Coreseek) Xapian Lemur 开发语言 Java C/C++ C/C++ C/C++ 索引存储结构 专用格式 专用格式 B+  树 B+  树 正向、反向索引 支持 仅反向 * 支持 支持 自定义排序 支持,需要改源码 支持 部分支持 支持 字段的支持 支持 支持 * 不支持 支持 TermID 的算法 顺序编号 CRC64* Hash Unknown 分布式支持 Nutch 支持 N/A 支持
涉及的内容 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why I choose Sphinx ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sphinx (Coreseek) 特性介绍( 1 ) ,[object Object],[object Object],[object Object],[object Object]
Sphinx(Coreseek)  特性介绍( 2 ) ,[object Object],[object Object],[object Object],[object Object]
Coreseek(Sphinx) VS Lucene ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sphinx VS Lucene ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sphinx  优势 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sphinx  限制 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
吹牛时间(酒精考验的 Sphinx ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q&A

Weitere ähnliche Inhalte

Ähnlich wie Sphinx 全文检索实践指南

Postgre sql intro 0
Postgre sql intro 0Postgre sql intro 0
Postgre sql intro 0March Liu
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍George Ang
 
An introduction to inverted index
An introduction to inverted indexAn introduction to inverted index
An introduction to inverted indexweedge
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch IntroductionTsungWei Hu
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈Zek Chang
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈Zek Chang
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍areyouok
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍areyouok
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍topgeek
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax LucenceRoger Xia
 
Elasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsElasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsYI-CHING WU
 
Elasticsearch 簡介
Elasticsearch 簡介Elasticsearch 簡介
Elasticsearch 簡介Pei-Hsun Kao
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
搜索技术分享
搜索技术分享搜索技术分享
搜索技术分享endless_yy
 
第三章
第三章第三章
第三章jxhtq
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1YI-CHING WU
 

Ähnlich wie Sphinx 全文检索实践指南 (20)

Postgre sql intro 0
Postgre sql intro 0Postgre sql intro 0
Postgre sql intro 0
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍
 
An introduction to inverted index
An introduction to inverted indexAn introduction to inverted index
An introduction to inverted index
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 
Kevenjiaoda
KevenjiaodaKevenjiaoda
Kevenjiaoda
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
资源整合与Web2.0
资源整合与Web2.0资源整合与Web2.0
资源整合与Web2.0
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍
 
腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍腾讯大讲堂25 企业级搜索托管平台介绍
腾讯大讲堂25 企业级搜索托管平台介绍
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax Lucence
 
Elasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsElasticsearch search engine_development_tips
Elasticsearch search engine_development_tips
 
Elasticsearch 簡介
Elasticsearch 簡介Elasticsearch 簡介
Elasticsearch 簡介
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
搜索技术分享
搜索技术分享搜索技术分享
搜索技术分享
 
第三章
第三章第三章
第三章
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1
 

Mehr von Shaoning Pan

海量数据计算架构实现
海量数据计算架构实现海量数据计算架构实现
海量数据计算架构实现Shaoning Pan
 
Technology Changes
Technology ChangesTechnology Changes
Technology ChangesShaoning Pan
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习Shaoning Pan
 
海量用户数据处理及其在一淘广告和推荐中的应用
海量用户数据处理及其在一淘广告和推荐中的应用海量用户数据处理及其在一淘广告和推荐中的应用
海量用户数据处理及其在一淘广告和推荐中的应用Shaoning Pan
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构Shaoning Pan
 
Tanx成长之路 real time media
Tanx成长之路 real time mediaTanx成长之路 real time media
Tanx成长之路 real time mediaShaoning Pan
 
移动社交网络动态框架 李章晶
移动社交网络动态框架 李章晶移动社交网络动态框架 李章晶
移动社交网络动态框架 李章晶Shaoning Pan
 
移动互联网产业分析 梁文静
移动互联网产业分析 梁文静移动互联网产业分析 梁文静
移动互联网产业分析 梁文静Shaoning Pan
 
曾勇 Elastic search-intro
曾勇 Elastic search-intro曾勇 Elastic search-intro
曾勇 Elastic search-introShaoning Pan
 
Hadoop的etl任务—flume使用及其 优化-品友互动
 Hadoop的etl任务—flume使用及其 优化-品友互动 Hadoop的etl任务—flume使用及其 优化-品友互动
Hadoop的etl任务—flume使用及其 优化-品友互动Shaoning Pan
 
互联网广告发展的趋势-品友互动
互联网广告发展的趋势-品友互动 互联网广告发展的趋势-品友互动
互联网广告发展的趋势-品友互动 Shaoning Pan
 
互联网行为分析和数据挖掘-品友互动
互联网行为分析和数据挖掘-品友互动互联网行为分析和数据挖掘-品友互动
互联网行为分析和数据挖掘-品友互动Shaoning Pan
 
如何构建一个高可用可扩展的广告投放平台-品友互动
如何构建一个高可用可扩展的广告投放平台-品友互动 如何构建一个高可用可扩展的广告投放平台-品友互动
如何构建一个高可用可扩展的广告投放平台-品友互动 Shaoning Pan
 
网站前段性能优化-品友互动
 网站前段性能优化-品友互动 网站前段性能优化-品友互动
网站前段性能优化-品友互动Shaoning Pan
 
品友互动 Hadoop的etl任务—flume使用及其 优化
品友互动 Hadoop的etl任务—flume使用及其 优化品友互动 Hadoop的etl任务—flume使用及其 优化
品友互动 Hadoop的etl任务—flume使用及其 优化Shaoning Pan
 
分布式计算与Hadoop - 刘鹏
分布式计算与Hadoop - 刘鹏分布式计算与Hadoop - 刘鹏
分布式计算与Hadoop - 刘鹏Shaoning Pan
 
Cassandra实时统计分享 - 赵伟
Cassandra实时统计分享  - 赵伟Cassandra实时统计分享  - 赵伟
Cassandra实时统计分享 - 赵伟Shaoning Pan
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海Shaoning Pan
 
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林Shaoning Pan
 

Mehr von Shaoning Pan (20)

海量数据计算架构实现
海量数据计算架构实现海量数据计算架构实现
海量数据计算架构实现
 
RTB 优化算法
RTB 优化算法RTB 优化算法
RTB 优化算法
 
Technology Changes
Technology ChangesTechnology Changes
Technology Changes
 
一淘广告机器学习
一淘广告机器学习一淘广告机器学习
一淘广告机器学习
 
海量用户数据处理及其在一淘广告和推荐中的应用
海量用户数据处理及其在一淘广告和推荐中的应用海量用户数据处理及其在一淘广告和推荐中的应用
海量用户数据处理及其在一淘广告和推荐中的应用
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构
 
Tanx成长之路 real time media
Tanx成长之路 real time mediaTanx成长之路 real time media
Tanx成长之路 real time media
 
移动社交网络动态框架 李章晶
移动社交网络动态框架 李章晶移动社交网络动态框架 李章晶
移动社交网络动态框架 李章晶
 
移动互联网产业分析 梁文静
移动互联网产业分析 梁文静移动互联网产业分析 梁文静
移动互联网产业分析 梁文静
 
曾勇 Elastic search-intro
曾勇 Elastic search-intro曾勇 Elastic search-intro
曾勇 Elastic search-intro
 
Hadoop的etl任务—flume使用及其 优化-品友互动
 Hadoop的etl任务—flume使用及其 优化-品友互动 Hadoop的etl任务—flume使用及其 优化-品友互动
Hadoop的etl任务—flume使用及其 优化-品友互动
 
互联网广告发展的趋势-品友互动
互联网广告发展的趋势-品友互动 互联网广告发展的趋势-品友互动
互联网广告发展的趋势-品友互动
 
互联网行为分析和数据挖掘-品友互动
互联网行为分析和数据挖掘-品友互动互联网行为分析和数据挖掘-品友互动
互联网行为分析和数据挖掘-品友互动
 
如何构建一个高可用可扩展的广告投放平台-品友互动
如何构建一个高可用可扩展的广告投放平台-品友互动 如何构建一个高可用可扩展的广告投放平台-品友互动
如何构建一个高可用可扩展的广告投放平台-品友互动
 
网站前段性能优化-品友互动
 网站前段性能优化-品友互动 网站前段性能优化-品友互动
网站前段性能优化-品友互动
 
品友互动 Hadoop的etl任务—flume使用及其 优化
品友互动 Hadoop的etl任务—flume使用及其 优化品友互动 Hadoop的etl任务—flume使用及其 优化
品友互动 Hadoop的etl任务—flume使用及其 优化
 
分布式计算与Hadoop - 刘鹏
分布式计算与Hadoop - 刘鹏分布式计算与Hadoop - 刘鹏
分布式计算与Hadoop - 刘鹏
 
Cassandra实时统计分享 - 赵伟
Cassandra实时统计分享  - 赵伟Cassandra实时统计分享  - 赵伟
Cassandra实时统计分享 - 赵伟
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
 
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林
 

Sphinx 全文检索实践指南

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. 检索系统特性一览 特性 Lucene Sphinx (Coreseek) Xapian Lemur 开发语言 Java C/C++ C/C++ C/C++ 索引存储结构 专用格式 专用格式 B+ 树 B+ 树 正向、反向索引 支持 仅反向 * 支持 支持 自定义排序 支持,需要改源码 支持 部分支持 支持 字段的支持 支持 支持 * 不支持 支持 TermID 的算法 顺序编号 CRC64* Hash Unknown 分布式支持 Nutch 支持 N/A 支持
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Q&A

Hinweis der Redaktion

  1. Boolean 在 20 世纪 80 年代非常流行,直到现在,很多传统系统仍然在使用 Boolean 模型进行工作。 传统的研究者认为, Boolean 模型可以精确的找到他们想要的内容,而不会丢失信息 现代的研究发现,基于统计的模型往往比人工精心调整的 Boolean 检索式带来更好的结果
  2. BM25 公式: score ( D , Q ):就是我们所要计算的评分,即为 [ 给定搜索内容 ]Q 在 [ 给定文档 ]D 中的相关程度,分数越高表示相关度越高。 q : [ 给定搜索内容 ]Q 中的语素,英文的话就是单词,中文的话需要先进行简单的切词操作。 f ( qi,D ):在 [ 给定文档 ]D 中,某一个语素 qi 出现的频率。 |D| : [ 给定文档 ]D 长度。 avgdl: 索引中所有文档长度。 另外两个参数 K1 和 b 用来调整精准度,一般情况下我们取 K1=2 , b=0.75 。 IDF 公式:是用来计算公式 1 中 IDF ( qi )的值 N :索引中文档的总数目。 n ( qi ):索引中包含语素 qi 的文档的总书目。
  3. http://ccl.pku.edu.cn/doubtfire/NLP/Artificial_Intelligence/Latent%20Semantic%20Indexing.txt