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?"