キーがidで、値がtextのHashMapがあります。
HashMap<String,String> textMap = new HashMap<String,String>();
textMap.put("id_1","She");
textMap.put("id_2","has");
textMap.put("id_3","a");
textMap.put("id_4","neck");
textMap.put("id_5","pain");
//.. more elements in textMap
「首の痛み」のようなフレーズで関連するIDを見つけたいので、この場合、結果はid_4とid_5になります。
誰かがフレーズをIDと一致させるための効率的なアルゴリズムを提案できますか?
重要な条件を含めるのを忘れてすみません。「start_5_end_14」のように、フレーズと単語のオフセットの両方があります。これは、「She」の開始が0である場合、5が「neck」の開始であることを意味します。ただし、ケースを複雑にするのは、オフセットが正しくありません。