首页 > 解决方案 > 狮身人面像搜索:如何理解 min_prefix_len

问题描述

抱歉,我在这里发布我的问题,因为我在它所属的 sphinxsearch 论坛上永久收到错误。

我设置了 min_prefix_len = 3。

根据http://sphinxsearch.com/docs/current/conf-min-prefix-len.html我希望匹配

val*

但我什至没有得到匹配

vale*

但是我得到了所有的比赛

valeg*
valegr*
valegro*

我不明白的是什么?

标签: sphinxsearch

解决方案


对不起,现在它应该正常工作了。可能的解释是索引中的错误。在探索 manticore 作为狮身人面像的替代品时,我重新编制了索引,并偶然注意到虽然索引器这样说,但没有发生旋转:

rotating indices: successfully sent SIGHUP to searchd (pid=8).

但是查看磁盘证明情况并非如此:

# ls -latrh /d/data/sphinx/*sm_en*
-rw-r--r-- 1 root root    0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spm
-rw-r--r-- 1 root root  31K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spa
-rw-r--r-- 1 root root    0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spk
-rw-r--r-- 1 root root 607K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spi
-rw-r--r-- 1 root root 5.7M Jul 29 04:43 /d/data/sphinx/lng_sm_en.spd
-rw-r--r-- 1 root root  11M Jul 29 04:43 /d/data/sphinx/lng_sm_en.spp
-rw-r--r-- 1 root root  30M Jul 29 04:43 /d/data/sphinx/lng_sm_en.sps
-rw-r--r-- 1 root root  823 Jul 29 04:43 /d/data/sphinx/lng_sm_en.sph
-rw-r--r-- 1 root root  38K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spe
-rw------- 1 root root    0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spl
-rw-r--r-- 1 root root    0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spm
-rw-r--r-- 1 root root  31K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spa
-rw-r--r-- 1 root root    0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spk
-rw-r--r-- 1 root root  11M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spp
-rw-r--r-- 1 root root 607K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spi
-rw-r--r-- 1 root root 5.7M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spd
-rw-r--r-- 1 root root  823 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.sph
-rw-r--r-- 1 root root  30M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.sps
-rw-r--r-- 1 root root  38K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spe
-rw------- 1 root root    0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spl

所以我删除了这些文件并再次编制索引。可能这解决了这个问题,因为旋转也可以再次工作。

正如文件显示的那样,这个问题肯定已经持续了 2 周。现在日期也是正确的。


推荐阅读