Sphinx 与全文索引

Posted xiaoliwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sphinx 与全文索引相关的知识,希望对你有一定的参考价值。

全文索引创建过程

第一步:将源文档传给分词组件(Tokenizer)

分词组件做了以下事情:

  • 将文档分成一个一个的单词
  • 去除标点符号
  • 去除停词:英文(the / a / this / that ....)  中文 ( 是、的...)
  • 经过分词后得到的就是词元

第二步:将词元传给语言处理组件

语言处理组件做了以下事情(针对英文):

  • 将大小变成小写
  • 将单词复数变成单数形式
  • 将各种时态变成现在时,例如“drove”变成“drive”

第三步:将处理好的词传给索引组件(indexer)

  • 根据词创建字典(字典的key是传过来的词,value是词对应的记录的id)
  • 对字典进行排序

 

根据索引进行搜索:

第一步:用户输入查询语句

第二步:对输入查询的语句进行词法分析,语法分析及语言处理

第三步:将处理好的词组传给搜索引擎(Sphinx),搜索索引,得到符合语法的文档

第四步:根据得到文档和查询语句的相关性,进行排序

以上是关于Sphinx 与全文索引的主要内容,如果未能解决你的问题,请参考以下文章

Sphinx全文索引

Sphinx全文索引 第一节

全文索引Sphinx+binlog日志+Grant用户授权+读写分离和主从复制

Lucene Sphinx 全文索引 对比

全文检索:sphinx elasticsearch xunsearch 比较

LNMP+coreseek(sphinx+mmseg3)搭建全文索引库_sgk