📄 pdfboxpathindex.java
字号:
package chapter9;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.File;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.pdfbox.searchengine.lucene.LucenePDFDocument;
import org.pdfbox.searchengine.lucene.IndexFiles;
public class PDFBoxPathIndex {
private static String Dst_Index_Path = "D:\\workshop\\pdfindex\\";
private static String Src_Index_Path = "D:\\workshop\\docs\\";
/*================================================================
* 名 称:PDFQueryIndex
* 功 能:构造PDF文档检索查询器,对指定的索引进行查询。
===============================================================*/
public static void PDFQueryIndex(){
try {
IndexSearcher searcher = new IndexSearcher(Dst_Index_Path); // 生成检索器对象
Term term = new Term("contents","pdfbox"); // 检索关键字
Query query = new TermQuery(term); // 生成检索对象
System.out.println("----------检索内容:"+query.toString()+"----------");
Hits hits = searcher.search(query); // 提交检索
System.out.println("----------检索结果: 共检索到 "+hits.length()+" 条 ----------");
// for(int i=0; i < hits.length(); i++) // 获得结果
// {
// System.out.println(hits.doc(i));
// System.out.println(hits.doc(i).getField("id"));
// }
}catch (IOException e) {
e.printStackTrace();
}
System.out.println("----------索引检索:PDF索引查询成功----------");
}
/*================================================================
* 名 称:PDFIndexBuilder
* 功 能:针对指定的目录,构造PDF磁盘索引。
===============================================================*/
public static void PDFIndexBuilder(){
try {
IndexFiles indexpdf = new IndexFiles();
indexpdf.index(new File(Src_Index_Path),true,Dst_Index_Path);
}catch ( Exception e) {
e.printStackTrace();
}
System.out.println("----------创建索引:PDF 文件成功. ----------");
}
/*================================================================
* 名 称:main
* 功 能:测试Lucene中PDF文件的索引建立和检索查询功能。
===============================================================*/
public static void main(String[] args) {
PDFIndexBuilder(); // 创建索引
PDFQueryIndex(); // 检索关键字
System.out.println("----------PDF Lucene 检索测试 ----------");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -