前言:最近在幫公司作ERP系統,雖然有了個小雛形,可是在搜尋的部分還是有點不流暢,尤其是拼錯音、或是打錯字的話就完全找不到要撈的資料,所以我決定開發這個小功能。
雖說有稍微思考過,但總覺得不是這麼簡單。最簡單的同音字搜尋大致構想如下:
1.輸入字串
2.把字串丟到資料庫比對注音
3.把同音字撈出
4.同音字丟到資料表比對
5.搜尋結束以後展示列表並另列出其他同音字以供選擇
這整個流程比較關鍵的在於2.3,因為手上沒有注音資料庫,所以必須借重網路字典的威力囉 (笑)
預計是找出用表單來傳送查詢的字典網站然後直接丟到查詢目的,然後解析特定位址的資料,取回注音然後去作二次查詢再取回同音字。
雖說看似麻煩,但是在小型的系統中似乎不會佔用太大的效能,所以目前靠這方向來努力。
===========================================================================
開發隨記
7/22 11PM
找到教育部辭典,很符合所需要的東西。他的textfield叫做QueryString,聽起來很像是網頁後面常帶的參數...這取名取的也太無腦了吧!..算了 對我也方便....
整行如下:
<form method="POST" action=/cgi-bin/jdict/search.cgi>
<font size="3" face="標楷體">詞目搜尋:<input type="text" size="15" maxlength="256" name="QueryString"><input type="submit" value="開始檢索"><p>
<input type="radio" checked name="R1" value="V1">只找辭名 <input type="radio" name="R1" value="V2"> 整部辭典</font><p>
</form>
看post的對象讓我不禁懷疑系統是不是用linux架的...
隨便搜尋了一個,目標導向到cgi-bin/jdict/search.cgi,然後搜尋連結是cgi-bin/jdict/GetContent.cgi?DocNum=4174&GraphicWord=&QueryString=滿足。
所以基本判斷只要後面的參數改變就可以找到需要找的資料...現在來驗證看看!
7/23 00am
發現找錯目標,我是要找字典不是辭典,所以那個不符合需求。另外找到ㄧ個民間業者的資料庫http://www.iq-t.com/SYSCOM/pingying1.asp
這個就很有意思,原本以為code都被ASP給hide了,沒想到看code還整段滿滿的都在,這我就搞不懂asp的目的了!
初步看起來我需要的都在,而且都在一個頁面上。簡單的說,只要輸入搜尋對象,然後就會在這個頁面顯示尋找的內容。
大致解析如下: (keyword: 好)
<form method=post name="checkWord" action=pingying1.asp onSubmit="return checkInput(this);">
<input type=text name="InWord" size="12" maxlength="10" align="left" value="好">
<td><font size="2">ㄏㄠ</font></td>
<td><font size="2">hau</font></td>
<td><font size="2">hao</font></td>
<td><font size="2">hao</font></td>
<td><font size="2">hao</font></td>
而<from>的onSubmit只是用來檢查欄位有沒有輸入的副程式。今天先解析到這邊,明日在研究。
7/23 07am
看到這篇文章,有人問是否可以取得注音編碼....
http://social.msdn.microsoft.com/forums/zh-TW/232/thread/c199d221-0eb0-4993-9143-f1901d66aaa9/
呆會上班來研究,希望有幫助。
8/11 08am
該計畫目前被擱置! 囧
