如何消除Sphinx中的该警告?WARNING: index 'indexer_name': forcing index_exact_words=1
解决Sphinx的"forcing index_exact_words=1"警告
嘿,这个警告我配置Sphinx时也碰到过,其实就是Sphinx在自动调整配置时给你的提示,完全不用慌,两种方法就能搞定:
显式设置
index_exact_words = 1
既然Sphinx已经自动帮你开启了这个参数,那你直接把它写到对应的索引配置块里就行。找到你配置里名为indexer_name的索引部分,加上这一行:index_exact_words = 1这样Sphinx就知道你已经明确认可了这个设置,不会再弹出警告了。
检查并调整冲突的配置项
这个警告触发的原因是你同时开启了dict=keywords、prefixes和morphology这三个配置。如果这三个功能你不是全部都需要,那就删掉或者关闭其中一个不需要的:- 如果你不需要前缀索引功能,就移除
prefixes相关的配置 - 如果你不需要词形还原,就把
morphology设置为none
这样就不会触发Sphinx自动强制开启index_exact_words的逻辑,警告自然就消失了。
- 如果你不需要前缀索引功能,就移除
简单说下背后的逻辑:当这三个配置同时启用时,Sphinx需要确保精确词的索引能正常工作,所以会自动开启index_exact_words,这个警告只是在通知你它做了这个自动调整,不是错误,只是提醒你可以主动配置或者优化你的索引设置。
内容的提问来源于stack exchange,提问作者VVB
相关产品推荐
相关产品推荐

