Doh!!!! Sorry, never mind, returning different indexWriter instances :P

On Wed, Mar 19, 2008 at 7:21 PM, Vinicius Carvalho <
[EMAIL PROTECTED]> wrote:

> Hello there! This is really a dumb question, but I just need to get things
> started :( I'm just trying to get things working here, and I'm not being
> able to index :(. Here's my code:
>
> public abstract class AbstractLuceneIndexer implements LuceneIndexer{
>
>     protected String INDEX_DIR = "";
>
>
>     public void add(Document document) {
>         try {
>             if(!IndexReader.isLocked(INDEX_DIR)){
>                 getIndexWriter().setMaxFieldLength(Integer.MAX_VALUE);
>                 getIndexWriter().addDocument(document);
>                 optimize();
>                 System.out.println(getIndexWriter().docCount());
>                 getIndexWriter().close();
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
>
>     public void delete(Document document) {
>         try {
>             if(!IndexReader.isLocked(INDEX_DIR)){
>
> getIndexReader().deleteDocument(findDocumentNum(document));
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
>
>     private int findDocumentNum(Document doc){
>         return 0;
>     }
>
>     public void optimize() {
>
>     }
>
>     public Hits query() {
>         return null;
>     }
>
>     protected abstract IndexWriter getIndexWriter();
>
>     protected abstract IndexReader getIndexReader();
>
>     protected abstract Analyzer getAnalyzer();
>
>
> }
>
> public class LocalLuceneIndexer extends AbstractLuceneIndexer {
>     private Directory dir;
>     public LocalLuceneIndexer() {
>         INDEX_DIR = "/java/lucene/index";
>         try {
>             this.dir = FSDirectory.getDirectory(INDEX_DIR);
>
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
>     @Override
>     protected IndexReader getIndexReader() {
>         IndexReader reader = null;
>         try {
>             reader = IndexReader.open(dir);
>         } catch (CorruptIndexException e) {
>             e.printStackTrace();
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>         return reader;
>     }
>
>     @Override
>     protected IndexWriter getIndexWriter() {
>         IndexWriter writer = null;
>         try {
>             writer = new IndexWriter(INDEX_DIR,new
> StandardAnalyzer(),true);
>         } catch (CorruptIndexException e) {
>             e.printStackTrace();
>         } catch (LockObtainFailedException e) {
>             e.printStackTrace();
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>         return writer;
>     }
>
>     @Override
>     protected Analyzer getAnalyzer() {
>         return new StandardAnalyzer();
>     }
>
> }
>
> @Test
>     public void testAddPDF() throws Exception{
>         LocalLuceneIndexer indexer = new LocalLuceneIndexer();
>         DocumentHandler handler = new PDFDocumentHandler();
>         File file = new File("/home/vinicius/samplePDF.pdf");
>         FileInputStream fin = new FileInputStream(file);
>         Document doc = handler.getDocument(fin);
>         indexer.add(doc);
>       }
>
> Well, after running the test above, I have only 2 files stored at disk :
> segments.gen and segments_5. Luke can not open the index dir. What am I
> missing here?
>
> Regards
>
> --
> "In a world without fences and walls, who needs Gates and Windows?"




-- 
"In a world without fences and walls, who needs Gates and Windows?"

Reply via email to