sphinx中文分詞的檢索規則是以最大匹配來提取的,這無凝會使被最大匹配所包含的其它分詞不會被sphinx提取。
例如:假設分詞庫中有「裝置」、「通用」、「通用裝置」、「通」、「用」、「設」、「備」等漢字及片語,以下規則成立:
1.如果被檢索的索引中存在有「通用裝置」和「通用」、「裝置」的文件(doc),這時用「通用裝置」這個詞搜尋時只會返回與「通用裝置」有關的doc,而只包含「通用」、「裝置」、「通」、「用」、「設」、「備」的doc不會被匹配;如果索引中有只包含「通用」或「裝置」(而非「通用裝置」)的doc,則用「通用」或「裝置」可以檢索它們,用「通用裝置」則檢索不到。
2.用「裝置」是找不到包含有「通用裝置」的doc的,如果想用「裝置」和「通用」等找到包含「通用裝置」的doc,則需要刪除分詞庫中的「通用裝置」,保留「通用」、「裝置」即可。
實際運用舉例:在以上假設的分詞庫條件下,在setmatchmode為sph_match_any模式下,用「通用《空格》裝置」能查詢到只包含「通用」或「裝置」的doc,用「通用裝置」只能搜尋到包含有「通用裝置」的doc。
以上的匹配規則是我在使用過程中總結出來的,在coreseek和sphinx-for-chinese中都如此,不知是否有誤解的地方,希望大蝦們能幫忙指正。
分詞演算法參考文章:libmmseg mmseg分詞庫生成說明
中文分詞和搜尋引擎
搜尋引擎,上網的人基本上都不陌生了,cnnic的第17次 網際網路調查報告 顯示,使用搜尋引擎服務的網民,僅次於電子郵件。中文分詞,估計了解的人並不多,畢竟太技術,太底層。但中文分詞是中文搜尋引擎系統中非常重要的模組,這裡之所以強調是中文搜尋引擎,是針對英文搜尋引擎來講,因為對於英文來說,空格代表詞...
中文分詞和搜尋引擎
winter 搜尋引擎,上網的人基本上都不陌生了,cnnic的第17次 網際網路調查報告 顯示,使用搜尋引擎服務的網民,僅次於電子郵件。中文分詞,估計了解的人並不多,畢竟太技術,太底層。但中文分詞是中文搜尋引擎系統中的非常重要的模組,這裡之所以強調是中文搜尋引擎,是針對英文搜尋引擎來講,因為對於英文...
中文分詞和搜尋引擎
winter 搜尋引擎,上網的人基本上都不陌生了,cnnic的第17次 網際網路調查報告 顯示,使用搜尋引擎服務的網民,僅次於電子郵件。中文分詞,估計了解的人並不多,畢竟太技術,太底層。但中文分詞是中文搜尋引擎系統中的非常重要的模組,這裡之所以強調是中文搜尋引擎,是針對英文搜尋引擎來講,因為對於英文...