1

ファイル システムにある XML ファイルに対して、可能な限り高速な全文検索を実装する必要があります。基本的に、XML ノード値の一部に特定のキーワードが含まれているかどうかを判断する必要があります。私はいくつかのオプションを検討しました:

  • ディレクトリ内のファイルを反復処理 -> ファイルを 1 行ずつ読み取る -> Matcher / Pattern を使用してキーワードがここにあるかどうかを判断
  • ディレクトリ内のファイルを反復処理 -> SAX パーサーを使用
  • 新しいファイルがディレクトリに到着するとすぐに (たとえば、Solr を使用して) 必要な XML ノードにインデックスを作成し、インデックス エンジンにクエリを実行します。

どの戦略を選択するのがより適切で、その理由は何ですか?

4

1 に答える 1

0

xml ファイルのサイズが小さい場合 (数 KB/数 MB)、1 行ずつ読み取る (または他の xml 解析手法を使用して読み取る) ことをお勧めします。Solr は、非常に大きな xml ファイルがある場合に役立ちます。Solrは小さなファイルも簡単に読み取ることができます(ただし、すべては時間に依存します)

SAX パーサーについては不明です。

于 2013-01-07T21:32:46.097 に答える