0

均一で少し複雑ではないファイルからテキストを読み取る必要があります 基本的にはこの順序です

Index . word / DOC_id : position1 postition2 (....and so on), DOC_id : position1 postition2 (....and so on),

したがって、単語は n 個のドキュメントに表示され、ドキュメントに n 回表示される可能性があります。例として、ファイルの小さなセクションをコピーしていますが、スペースの制約により、何度も出てくる単語を入れることができません。

例:

13137 . speeding / D85 : 5999  , 
13138 . spell / D53 : 1513  , 
13139 . spelling / D3 : 344 351  , 
13140 . spending / D71 : 398  , 
13141 . spiderman / D60 : 650 733 997 1023 1053 1133 1152 1169  , 
13142 . spiders / D75 : 704  , D91 : 19834  ,
(...and so on)

誰でもこれで私を助けてください。また、このファイルを生成したときに、ファイルをより適切な方法でフォーマットできますか?再フォーマットして、より適切なフォーマットのテキスト ファイルを生成できるかもしれません。

ありがとうございました :)

4

1 に答える 1

0

おそらく、改行を区切り文字として使用する必要があります。ここに私が意味するものがあります

13137 . speeding / D85 : 5999
13138 . spell / D53 : 1513 
13139 . spelling / D3 : 344 351
13140 . spending / D71 : 398
13141 . spiderman / D60 : 650 733 997 1023 1053 1133 1152 1169
13142 . spiders / D75 : 704 , D91 : 19834

つまり、次のような性質のフォーマット

Index . word / DOC_id : position1 postition2 ... , DOC_id : position1 ...
Index . word / DOC_id : position1 postition2 ... , DOC_id : position1 ...
Index . word / DOC_id : position1 postition2 ... , DOC_id : position1 ...

編集

一度に 1 行ずつ取得できるようになったので、区切り文字として空白が使用されることを覚えておいてくださいScanner。、、およびを追跡する各トークンを解析します。各行の形式と使用される区切り記号は既にわかっています。その情報を使用して続行します。StringTokenizerString.split./:,

于 2014-12-02T02:27:12.807 に答える