Javaで逆インデックスを作成したいと思います。私は1400のテキストファイルのデータを持っています。 各単語/単語の頻度を数えることができました。私はコレクション全体に単語が現れる回数を返すことができましたが、どの文書がその中に現れるかを返すことができませんでした。これは私がこれまで持っているコードです:逆インデックスをJavaで作成する方法
次の形式 TERM1:DOC1:2、DOC2:3 TERM2:DOC1:3、doc4:1 ...............ここで用語がワードである
になりますDOCファイルやドキュメントに1:// ST:2はTERM1がドキュメントに表示されます1 2回
public static void main(String[]args) throws FileNotFoundException{
Map<String, Integer> m = new HashMap<>();
String wrd;
for(int i=1;i<=2;i++){
//FileInputStream tdfr = new FileInputStream("D:\\logs\\steem"+i+".txt");
Scanner tdsc=new Scanner(new File("D:\\logs\\steem"+i+".txt"));
while(tdsc.hasNext()){
// m.clear();
Integer docid=i;
wrd=tdsc.next();
//Vector<Integer> vPosList = p.hPosList.get(wrd);
Integer freq=m.get(wrd);
//Integer doc=m1.get(i);
//System.out.println(m.get(wrd));
m.put(wrd, (freq == null) ? 1 : freq + 1);
}
System.out.println(m.size() + " distinct words" + " steem" +i);
System.out.println("Doc" +i+""+m);
//System.out.println("Doc"+i+""+m1);
m.clear();
tdsc.close();
}
//System.out.println(m.size() + " distinct words");
//System.out.println(m);
// System.out.println(m1);
}
}
HTTP意味しますackoverflow.com/questions/12511543/how-to-build-a-simple-inverted-index –