1. 程式人生 > >Sphinx 與全文索引

Sphinx 與全文索引

.... nbsp phi 例如 形式 index 中文 搜索 12px

全文索引創建過程

第一步:將源文檔傳給分詞組件(Tokenizer)

分詞組件做了以下事情:

  • 將文檔分成一個一個的單詞
  • 去除標點符號
  • 去除停詞:英文(the / a / this / that ....) 中文 ( 是、的...)
  • 經過分詞後得到的就是詞元

第二步:將詞元傳給語言處理組件

語言處理組件做了以下事情(針對英文):

  • 將大小變成小寫
  • 將單詞復數變成單數形式
  • 將各種時態變成現在時,例如“drove”變成“drive”

第三步:將處理好的詞傳給索引組件(indexer)

  • 根據詞創建字典(字典的key是傳過來的詞,value是詞對應的記錄的id)
  • 對字典進行排序

根據索引進行搜索:

第一步:用戶輸入查詢語句

第二步:對輸入查詢的語句進行詞法分析,語法分析及語言處理

第三步:將處理好的詞組傳給搜索引擎(Sphinx),搜索索引,得到符合語法的文檔

第四步:根據得到文檔和查詢語句的相關性,進行排序

Sphinx 與全文索引