mysql - sphinx查詢 "中國(guó)" 時(shí)也能查詢到 "中華人民共和國(guó)"
問(wèn)題描述
sphinx初學(xué)者,有個(gè)疑問(wèn),之前沒(méi)學(xué)sphinx的時(shí)候以為:查詢 '中國(guó)' 時(shí)也能查詢到 '中華人民共和國(guó)'查詢 '大姨媽' 時(shí)也能查詢到 '例假'查詢 '蘋果' 時(shí)也能查詢到 'iPhone'類似這樣的還有很多,網(wǎng)上沒(méi)有找到相關(guān)的文章,不知該搜索什么關(guān)鍵詞,所以在這里請(qǐng)教諸位,謝謝咯~~~如果支持,希望提供思路或操作步驟
問(wèn)題解答
回答1:據(jù)我了解是不行的,因?yàn)閟phinx是檢索引擎+coreseek是中文分詞功能,應(yīng)該不具備這樣的功能。
在sphinx.conf配置文件里也沒(méi)看到相關(guān),所以如果想要你所說(shuō)的功能,應(yīng)該是用其他的插件。
如果是純粹提供一個(gè)思路的話:我們搜索出來(lái)的結(jié)果都不是直接展示出來(lái)的,而是要通過(guò)一個(gè)權(quán)重判斷(增加權(quán)重字段),例如與中國(guó)相關(guān)的這些詞中,權(quán)重最高的是中華人民共和國(guó)。其他詞語(yǔ)也是一樣,這樣子應(yīng)該能完成你想要得效果,純粹mysql實(shí)現(xiàn)還比較容易,但在sphinx中比較難,因?yàn)樗鼨z索的邏輯都定死的。
回答2:想多了。sphinx只是根據(jù)關(guān)鍵詞檢索。近義詞和相關(guān)詞都是手動(dòng)設(shè)計(jì)和智能機(jī)器學(xué)習(xí)來(lái)的。
回答3:這個(gè)叫搜索重寫,最簡(jiǎn)單的方式是做一個(gè)別名表,先分詞 -> 取別名 -> 歸一化 -> 交給sphinx 查詢。
相關(guān)文章:
1. python - 獲取到的數(shù)據(jù)生成新的mysql表2. javascript - js 對(duì)中文進(jìn)行MD5加密和python結(jié)果不一樣。3. mysql里的大表用mycat做水平拆分,是不是要先手動(dòng)分好,再配置mycat4. window下mysql中文亂碼怎么解決??5. sass - gem install compass 使用淘寶 Ruby 安裝失敗,出現(xiàn) 4046. python - (初學(xué)者)代碼運(yùn)行不起來(lái),求指導(dǎo),謝謝!7. 為啥不用HBuilder?8. python - flask sqlalchemy signals 無(wú)法觸發(fā)9. python的文件讀寫問(wèn)題?10. 為什么python中實(shí)例檢查推薦使用isinstance而不是type?
