我需要使用Sphinx构建一个简单的搜索引擎来搜索产品和版本号(这是字符串)。例如,如果我在我的索引中:
version = 1.2.3
title =其他一些产品
version = 2.5 beta
title =又一产品
所以我想要实现的是:
等。
为实现此目的,哪些配置设置很重要?我尝试改变了很多配置变量(忽略字符,混合字符等),但没有给我带来我想要的结果......
答案 0 :(得分:0)
charset_table = english, U+2E
min_prefix_len = 1
然后重写查询以自动将*附加到结束数字
$query = preg_replace('/\b(\d+[\.\d]*)\b/','$1*',$query);
唯一的问题是,搜索1.2
仍然会匹配1.20.2
。应该可以通过零填充(在索引中使用regex_filter填充)来解决这个问题,但这样做还要多得多。