2011-05-17 98 views
0

任何人都可以帮助选择算法。相关性百分比(搜索字符串在源字符串中更“左”)

比较两个字符串并给出一个相关性百分比(如果更多的发现,更多的排名)。 也许合并两种算法 例如: 寻找"chocolate white quills" 我们有记录

CHOCOLATE, WHITE/DARK QUILLS [MONA LISA, 4 #/CS] 
CHOCOLATE, WHITE QUILLS [SWISS CHALET, 900 GR BOX] 
PASTRY INGR., CHOCOLATE QUILLS WHITE [SWISS CHALET FINE FO, 16/120 CT] 

其结果必然是这样的:

CHOCOLATE, WHITE QUILLS [SWISS CHALET, 900 GR BOX] | 0,1 
CHOCOLATE, WHITE/DARK QUILLS [MONA LISA, 4 #/CS] | 0,2 
PASTRY INGR., CHOCOLATE QUILLS WHITE [SWISS CHALET FINE FO, 16/120 CT] | 0,4 

像你可以看到它是不强的比较,必须使用 我现在使用JaroWinkler 现在结果是这样的

CHOCOLATE, WHITE/DARK QUILLS [MONA LISA, 4 #/CS] | 0,3775 
CHOCOLATE, WHITE QUILLS [SWISS CHALET, 900 GR BOX] | 0,3769 
PASTRY INGR., CHOCOLATE QUILLS WHITE [SWISS CHALET FINE FO, 16/120 CT] | 0,3728 

回答

0

对于任何文本排序,您需要明确您要测量的内容。在你的例子中

CHOCOLATE, WHITE QUILLS [SWISS CHALET, 900 GR BOX] | 0,1 
CHOCOLATE, WHITE/DARK QUILLS [MONA LISA, 4 #/CS] | 0,2 
PASTRY INGR., CHOCOLATE QUILLS WHITE [SWISS CHALET FINE FO, 16/120 CT] | 0,4 

为什么第一项排名低于第二项?我理解为什么最下面的评分最高,因为它包含了字符串中没有中间字符串的所有项目。提供一些更多细节,我们会尽力提供帮助。

+0

我一直在寻找短语“巧克力白羽毛球” 它的第一行中它创建“更多左侧”行 在最后一个字符串搜索字符串中创建的行中。这就是为什么我需要这种排序。 如果我在行中发现我的搜索字符串“更靠左”。我必须在“顶部”显示这一行,其他一定要低一些 – Katya 2011-05-19 07:15:45