2017-02-16 69 views
-2

我正在研究一个应用程序,它需要将主题与列中的现有主题相匹配并返回主题的百分比相似度。我正在使用电源构建器和sybase。我有一个存储主题的字符串变量(主题)。我需要关于如何将变量与“tblres”中的字段“restopic”进行匹配的帮助。查询返回“主题”和“restopic”中所有项目之间的百分比相似度,并按最高百分比相似度对结果进行排序。匹配字符串与列中项目的相似度

主题=数据从用户输入提供

tblres

ID RES_TOPIC教学大班

002事故率高上的特定道路

原因的

001的挑战

003计算机在教学中的影响

我希望从用户输入提供的数据与RES_TOPIC进行匹配以确定百分比相似度

+0

请问,你能显示你现在的数据和你想得到的信息吗?我不明白你在问什么。 –

+0

根据您定义的“匹配”,您可以在生成datawindow对象结果的SQL语句中执行此操作。 –

回答

0

目前尚不清楚您要求的内容。你如何定义的相似度百分比

我想你正在寻找一种方法来搜索字符串。您可以使用Pos()函数。但是,在一个函数中定义相似性是你的工作。一旦完成,就循环你的数据窗口。

ll_rows = tblres.rowcount() 
FOR ll_row = 1 to ll_rows 
    ll_similarity = similarity(tblres.getItemString(ll_row, 'res_topic'), topic) 
    // do something with ll_similarity 
NEXT 

function similarity(string res_topic, string topic) 
    //do something with pos() and mid() 
    //this is the place where the magic happens 
    return ll_percentage 
1

不知道这是你要找的东西,但是如果你查询使用CONTAINS事业的数据库,它会在结果中包括一个SCORE列。

SCORE表示匹配有多接近,可用于对结果进行排名。

您需要在您希望包含在搜索条件中的任何列上使用文本索引。

相关问题