PDFBoxPathIndex.java
上传用户:cctqzzy
上传日期:2022-03-14
资源大小:12198k
文件大小:3k
- 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 检索测试 ----------");
- }
- }