単語検索用にインデックスを作成したい大きなドキュメントがあります。(このタイプの配列は実際にはコンコーダンスと呼ばれていると聞きました)。現在、所要時間は約10分です。それを行うための速い方法はありますか?現在、各段落を反復処理しており、以前に遭遇したことのない単語が見つかった場合は、それを単語配列に追加し、補助配列の段落番号とともに、同じ単語に再び遭遇するたびに段落番号を追加しますインデックスに。:
associativeArray={chocolate:[10,30,35,200,50001],parsnips:[5,500,100403]}
これには、5 分ほどかかります。この配列を文字列に変換しようとしましたが、非常に大きいため、ストップ ワードを削除した後でもプログラム ファイルに含めることができず、とにかく配列に変換するのに時間がかかります。
線形ブルート フォース以外のテキスト インデックスを構築するより高速な方法はありますか? 私はインデックスを作成してくれる製品を探しているのではなく、既知の最速のアルゴリズムを探しているだけです。インデックスはあいまいではなく正確である必要があり、部分検索の必要はありません。