2013-06-15 2 views
1

Мой индекс создается успешно. Моя проблема заключается в том, что при попытке считанного его в Евангелии от Луки, я получаю сообщение об ошибке:Создание индекса lucene

Caused by: java.io.IOException: read past EOF 

Я знаю, что Lucene действительно обеспечивает возможность не хранить поле. Однако, какой был бы лучший способ сделать это?

  • магазин поле, независимо от размера, и если удар будет найден для поиска, извлечения соответствующего поля из документа или
  • Не храните поле и, если удар будет найден для поиска, запросить базу данных, чтобы получить соответствующую информацию?

Вот код, который используется для создания индекса:

public class CREATEiNDEX { 
    /** 
    * @param args 
    * @throws IOException 
    */ 
    public static void main(String[] args) throws IOException { 
     StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_43); 
     Directory index = FSDirectory.open(new File("C:/toturials/luceneindex/")); 
     IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_43, analyzer); 
     IndexWriter w = new IndexWriter(index, config); 
     List <String>list=readingPersonFile(); 

     for (int i = 0; i < list.size(); i++) 
     { 
      addDoc(w, String.valueOf(i),list.get(i)); 
     } 
     w.close(); 
    } 

    private static void addDoc(IndexWriter w, String title, String isbn) throws IOException { 
     Document doc = new Document(); 
     doc.add(new StringField("Id", title, Field.Store.YES)); 
     doc.add(new TextField("Name", isbn, Field.Store.YES)); 
     w.addDocument(doc); 
    } 
+0

Можете ли вы предоставить свой поисковый код. Может возникнуть проблема, связанная с созданием запроса. Я написал простой учебник для создания, добавления и чтения в Lucene, возможно, это может быть полезно [http://weblog4j.com/2013/06/17/searching-made-easy-with-apache-lucene-4 -3 /] (http://weblog4j.com/2013/06/17/searching-made-easy-with-apache-lucene-4-3/) –

+0

Возможно, у Луки нет даты или вы не совершаете свои записи ? – sleeplessnerd

+0

спасибо за ваши комментарии, я получил ответ. проблема с версией и использование анализатора. –

ответ

0

я думаю, что вы должны сделать новый индекс после делеции индекса.

+0

У меня есть ответ, есть проблема с verson. а также проблемы анализатора. Я использовал анализатор пробелов. –

Смежные вопросы