我有一個數據庫表包含代碼領域約40000條記錄,如 FLEFSU25B-25M EMG1090-5SLucene的分析儀子
我需要能夠非常快速地選擇包含特定字符串的所有代碼。例如「109」匹配EMG1090-5S。
我目前的做法是將代碼存儲在Lucene和具有由子Lucene的過濾器 - 如 但是,這並不是非常有效的,如果我只存儲代碼,因爲比Lucene的具有通過所有的令牌搜索。
爲了克服這個問題,我想創建一個新的分析,將每個代碼分成令牌,像這樣的: EMG1090-5S
MG1090-5S
G1090-5S
1090-5S
。 ..
然後找到所有代碼與子字符串109,我可以搜索109 *這是更有效率(我瞭解Lucene存儲令牌字母,就像SQL Server索引)。
這是否有意義? 這種分析儀是否已經存在?我正在使用.Net/C#。