如何在斯芬克斯中阻止罗马数字

时间:2011-01-17 10:18:45

标签: full-text-search sphinx roman-numerals

有没有办法在sphinx中使用罗马数字,所以罗马数字是阿拉伯数字的同义词?

例如,查询“Mafia 2”与“Mafia II”相同,反之亦然。

1 个答案:

答案 0 :(得分:0)

你可以使用wordforms。 只需编写一些脚本,将Arab nums翻译成Roman并制作文本文件:

walks > walk
walker > walk
1 > I
2 > II
3 > III
4 > IV

依旧...然后保存到 /absolute/path/wordforms.txt 并在索引部分的配置中写:

wordforms = /absolute/path/wordforms.txt

就是这样。重新索引后,如果你搜索Mafia 2 sphinx找到Mafia II。但它只是单向翻译(对你的问题不太好,但仍然有用),最好用于documentation这个例子:

core 2 duo > c2d
e6600 > c2d
core 2duo > c2d

第2轮

更好的方法是在搜索开始之前准备搜索查询并远离索引器:)

您的查询:

mafia 2|mafia II

gta 4|gta IV

这就是全部。你只需要写一些阿拉伯语到罗马语的转换函数。你可以在谷歌上找到像

这样的东西
  

“arab to roman(你的节目   语言)“

相关问题