1.提取关键词及相应的频率
2. 索引中Field.Store.NO的数据一般获取方式:
java 代码
- RAMDirectory ramDir = new RAMDirectory();
- IndexWriter ramWriter = null;
- IndexReader ramReader = null;
- try {
- ramWriter = new IndexWriter(ramDir, analyzer, true);
- StringBuffer strBuffer = new StringBuffer();
- for (Iterator iter = keyWordList.iterator(); iter.hasNext();) {
- String element = (String) iter.next();
- strBuffer.append(element + " ");
- }
- Document doc = new Document();
- doc.add(new Field("keyword", strBuffer.toString() , Field.Store.NO,Field.Index.TOKENIZED));
- ramWriter.addDocument(doc);
- ramWriter.close();
- ramReader = IndexReader.open(ramDir);
- int maxDoc = ramReader.maxDoc();
- TermFreqVector freqVector = ramReader.getTermFreqVector(0, "keyword");
- //提取关键字!
- if(freqVector != null){
- for (int i = 0; i < freqVector.size(); i++) {
- String keyword = freqVector.getTerms()[i];
- int frequece = freqVector.getTermFrequencies()[i];
- }
- }
2. 索引中Field.Store.NO的数据一般获取方式:
java 代码
- for(int i=0;i<hits.length();i++){
- int docId = hits.id(i);
- TermFreqVector vector = reader.getTermFreqVector(docId, "itemContent");
- for (int j = 0; j < vector.size(); j++) {
- int freq = vector.getTermFrequencies()[j];
- String text = vector.getTerms()[j];
- }
- }