新構想-大量的名稱解析過濾
因為公司要匯檔名稱,並將很多人工key的文字,一一把他變成統一的文字與內容。
在55萬筆資料
先分不同的類別。
不同的類別,會有不同的文字內容。
第一階段,要刪除有人名的部分,將某某字到某某字之間的內容移除,使用replaceAll(".*?"+prefixText,prefixText);
第二階段,過濾前字詞,將startWidth(ingoreText),符合,就過濾掉。
第三階段,過濾包含詞,將contains(ingoreText),符合,就過濾掉。
剩下的,在特殊處理。
雖然我根本也沒記什麼DesignPattern
但我還是有用一些概念,建立了一個FilterBase類別,所有類別繼承詞類別FilterA extends FilterBase
在建立一個靜態方法在FilterBase上,public static FilterBase getFilterBase(String classCode)
回傳相對的過濾物件處理,就可以依不同類別,實作不同的過濾方式。(這叫多型,面試考這種,我真還不知道該怎麼說明,叫我寫程式還比較容易)
覺得詞意處理,大概就是,Filter跟Ingore,還有所謂的Mapping、Repalce等。就將原本20萬筆,變成了10萬不重複的產品文字內容。
人工keying有時候看沒什麼規則,但人腦一定在一定的時間有一定的邏輯思考,但可能有N個不同的人在M個時間有不同的邏輯思考,產生了約N*M種文字keying模式。
大多,還是能猜的出來,key文字的人是怎麼想著去key這個訂單,在進去逆向處理。
滿有趣的。