2010-09-27 26 views
11

necesito para acceder a un índice de Lucene (creada mediante el rastreo de varias páginas web usando Nutch) pero está dando el error mostrado arribano hay segmentos * archivo encontrado

java.io.FileNotFoundException: no segments* file found in [email protected]/home/<path>: files: 
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:516) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:185) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:148) 
    at DictionaryGenerator.generateDict(DictionaryGenerator.java:24) 
    at DictionaryGenerator.main(DictionaryGenerator.java:56) 

busqué en Google, pero las razones dadas no fueron igualando el requisitos. El hecho de que los archivos se muestren (la ruta) probablemente significa que el directorio no está vacío.
Gracias

Respuesta

7

Básicamente, el mensaje de error dice que Lucene no encontró los archivos adecuados en el directorio de índice. Sugiero verificar lo siguiente:

  1. Verifique que la ruta del directorio de índice se ajuste a lo que cree que debería ser.
  2. ¿Las versiones de Nutch y Lucene utilizadas coinciden? Esto puede deberse a una diferencia de versión.
  3. ¿Hay un problema de permisos? ¿Puedes leer los archivos en el directorio?
  4. Intenta mirar el índice usando Luke. Si no puede, probablemente haya algo de corrupción en el índice.

Si todo esto no ayuda, publique la parte de indización del código.

+0

Hice todos ellos, excepto las versiones de Nutch y Lucene. No sabía que tenía que haber compatibilidad entre Lucene y Nutch. Si ayuda, la versión de lucene es 2.2. Puedo acceder a los archivos. De hecho, estoy ejecutando el programa Java en el mismo directorio que el índice. Además, revisé el índice usando Luke y definitivamente está bien. Además, la cuestión es que acabo de formar parte del proyecto. El índice es el resultado de un rastreo extenso realizado por Nutch. Entonces, no tengo ningún código de indexación. Fue solo un avance lento, pero aún así intentaré encontrar la imagen exacta. – crazyaboutliv

+0

Una cosa que he observado es que la versión más nueva de Nutch (1.1) genera 5 carpetas después de un rastreo, mientras que los datos que tengo solo tienen 4 (de los cuales los segmentos son uno) carpetas. ¿Puede ser eso un problema? – crazyaboutliv

+0

Como dijo Yuval, asegúrese de que el programa Java que usa para leer el índice usa la misma versión de Lucene que utilizó Nutch para crear el índice. –

15

Otra sugerencia, ya que estaba teniendo el mismo error y descubrí que después de crear los índices no cerraba IndexWriter y resultó ser muy imperdonable. En mi indexdirectory tengo algunos archivos .lock y ningún segmento o archivos segments.gen que es lo que Reader está buscando. Ver here # 3 para más detalles

+0

Solo para aquellos que se preguntan (como yo lo hice): incluso si cierra su IndexWriter, el archivo 'write.lock' aún existirá en su carpeta. Entonces, no importa si este archivo no se elimina. – Munchkin

+0

Esto lo resolvió para mí, gracias. – Harry

Cuestiones relacionadas