2017-02-16 98 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表示匹配有多接近,可用於對結果進行排名。

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

相關問題