新構想-大量的產品名稱解析過濾

新構想-大量的名稱解析過濾

因為公司要匯檔名稱,並將很多人工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這個訂單,在進去逆向處理。

滿有趣的。